
1 Vegetable 2019-01-24 00:08:54 +08:00 via iPhone 想洗一下发现功力不够,我觉得肯定有合适的场景,不比其他方案差,但是我想不出来… |
2 qq292382270 2019-01-24 00:12:10 +08:00 要么服务端返回 html, 要么 js 通过返回的 data 拼接成 html,并未有多大的区别吧 . |
3 CODEWEA 2019-01-24 00:15:06 +08:00 技术方案一定要符合业务实际需求 直接返回 HTML 片段的优势有:减少客户端负载,减少维护成本,客户端体验更流畅。 劣势:逻辑拼接增加服务器负载,技术人员会看起来很 low,不符合潮流,不利于接口重用(要考虑是否真的需要重用,已经重用成本) |
4 CODEWEA 2019-01-24 00:15:33 +08:00 以及重用成本 |
5 akatquas 2019-01-24 00:16:36 +08:00 via iPhone ajax 原名就是 XMLHttpRequest 啊... 返回 xml 没毛病,只不过现实场景不多用了,http 请求中大多都用字符串如 json 了而已。 我这个洗的还好吗? |
6 saulshao 2019-01-24 00:17:46 +08:00 返回 HTML 片段绝大多数是糟糕的设计。 需要用到 Ajax 的时候,都是将结果作为某个整体 HTML 页面的一部分。 大多数的设计都是返回 Json/XML 甚至是自定义的字符串。 对比返回 HTML 片段的设计,如果返回的 HTML 片段不能作为整体页面的一部分来显示,典型的例子是 Ajax 返回一个 HTML 表格,以 Table 开头,有的时候需要把这个表格的某列显示为一个链接,有的时候则不需要。那么就是要么设计 2 个不同的 Ajax API,要么就分析 HTML 片段,显然这都不是什么很好的办法。 |
8 580a388da131 2019-01-24 00:23:42 +08:00 via iPhone 你把数据和样式分开,最后送到客户端 html,这样应该凑合吧。 |
9 akira 2019-01-24 00:23:49 +08:00 如果前端和后台都是你一个人在做,以后也一直是你一个人在维护,那没关系 |
10 szx237560 2019-01-24 00:25:35 +08:00 |
11 KasuganoSoras 2019-01-24 00:26:36 +08:00 并不觉得有什么不好,有时候直接返回 html 还是挺方便的 比如: https://mirror.ssr.wine/ 评论区 AJAX 轮询、选择服务端分类 还有: https://www.zerobbs.net/ 帖子列表翻页,评论区 WebSocket 怎么方便怎么来,看自己喜欢。除非你是在帮别人做项目,那就按照别人的要求来做吧 就我个人而言,因为我并不擅长前端的 Js 那些的,我觉得直接在服务端写 HTML 更方便点,自然我会选择在 AJAX 里返回 HTML。 我这个洗的还好吗? |
12 FEDT 2019-01-24 00:32:45 +08:00 via iPhone Pjax,看看 gayhub |
13 yunye 2019-01-24 00:47:06 +08:00 turbolinks 岂不是 low 翻天了 |
14 azh7138m 2019-01-24 00:53:17 +08:00 via Android gitlab 也这么操作,问题不大 |
15 byis 2019-01-24 01:01:52 +08:00 via Android pjax 喵喵喵? |
16 byis 2019-01-24 01:02:33 +08:00 via Android 虎嗅网就是这样的 |
17 masker 2019-01-24 01:12:22 +08:00 via Android 不都是字符串咩? |
18 msg7086 2019-01-24 01:59:20 +08:00 都可以,根据实际需要返回数据就行了。 |
19 Archeb 2019-01-24 02:20:08 +08:00 一般应用在 pjax |
20 hundan 2019-01-24 07:26:53 +08:00 via Android 我知道新浪微博的评论加载是这样的 |
21 ChefIsAwesome 2019-01-24 08:39:55 +08:00 跟套模板一个道理。前端写好 html 给后端套,之后再要改了就费劲。 |
22 66beta 2019-01-24 08:46:42 +08:00 via Android 你这是模块化服务端渲染,简称 mssr,说不定成为今年流行! 可还行? |
23 yinqi025 2019-01-24 08:59:32 +08:00 这样直接返回 Html 不说性能什么的, 维护工作就很麻烦!!!!谁知道你后台组装了多少 html |
24 ebingtel 2019-01-24 09:03:59 +08:00 脱离应用场景和需求讨论这个有啥意义…… |
25 hasbug 2019-01-24 09:08:06 +08:00 比较难配合工作,后期维护成本也高,反正 |
26 hasbug 2019-01-24 09:09:05 +08:00 6 年前都这么干,然后天天页面布局错乱,找了半天,后端自己拼的 html 少各种结束标签 |
27 zwb9412 2019-01-24 09:11:51 +08:00 via Android 遇到过返回 html 的 里面还带 js 脚本,js 脚本有 bug 极难调试。。 |
28 brofen 2019-01-24 09:15:24 +08:00 微博好像是这么干的 |
29 keelii 2019-01-24 09:21:32 +08:00 恰恰相反,很多时候返回 html 其实更方便,也更具有跨应用的复用性。唯一问题就是 HTML 代码比较冗余,需要考虑 HTTP 请求传输数据量的问题。 |
30 fkdog 2019-01-24 09:29:41 +08:00 微博、apple 官网各种这么干。 根据自己实际来。 |
31 vinsony 2019-01-24 09:32:28 +08:00 没毛病,10 年前我就是这么干的 |
32 qinxi 2019-01-24 09:33:23 +08:00 微博翻页就是这样啊 |
33 carlclone 2019-01-24 09:34:35 +08:00 pjax , 没毛病 |
34 guanhui07 2019-01-24 09:38:12 +08:00 区别不大 看那一层套上模板。 |
35 sambawy 2019-01-24 09:39:13 +08:00 脱离现实场景聊这个就是耍流氓 |
36 lymi2771 2019-01-24 09:45:30 +08:00 via iPhone 我觉得没有任何问题 有人说不利于接口复用 我觉得这个 route 就是需要返回一个 view 也没什么问题吧? 不然普通的页面怎么访问的呢 服务端渲染这样的场景我觉得还是很多的 |
37 zst 2019-01-24 09:46:40 +08:00 via Android twitter 也这么干的 23333 |
38 BOYPT 2019-01-24 09:48:39 +08:00 没问题呀,而且这个技术还有专门的名词:服务器端渲染 |
39 ioven 2019-01-24 09:50:28 +08:00 很 low,可自己用的很爽 |
40 Yiki 2019-01-24 09:59:45 +08:00 传 svg 算不算 html 片段 前端也省事儿,不能太片面吧 |
41 mostkia 2019-01-24 10:08:24 +08:00 只要前后台不打起来,用什么交换数据都是 ok 吧。。我是前后台都做,感觉无所谓,但一般使用 json 吧,数据和表现分离,后期好维护一些,有时候想改改版面也更方便,但又需要的情况下,直接返回 html 我感觉并无什么不妥。 |
42 FakeLeung 2019-01-24 10:10:48 +08:00 low 咋滴啦?用的爽就好了。 |
43 doodlewind 2019-01-24 10:24:45 +08:00 我是搞前端编辑器的,简单来说,假如我的业务场景(编辑器)动态性非常强,那么一些插件就需要依赖后端的能力来生成 html 返回给前端,这时候接口里包含 html 片段也是可能的呀,至少据我所知 confluence 的富文本编辑器就是这么干的。 当然了 confluence 这个编辑器的架构设计是前后端不分离的,编辑器插件都是 jar 包,现在的前端架构设计应该可以杜绝这样的实践了吧。 |
44 SakuraKuma 2019-01-24 10:27:44 +08:00 很多都这么干好嘛.. |
45 tao1991123 2019-01-24 10:31:49 +08:00 pjax 没毛病 |
46 miniwade514 2019-01-24 10:40:27 +08:00 简单地理解,这个方案只是把 HTML 放到服务端渲染了。 应该也不存在接口不好复用的问题,你在服务端把渲染 HTML 的服务和数据服务拆分成两层,数据服务也是可复用的。 适合前端交互不复杂的场景。 |
47 litbear 2019-01-24 13:55:11 +08:00 pjax 啊 |
48 meepo3927 2019-01-24 14:54:58 +08:00 后端写 HTML 体验很差吧 , 字符串拼接? |
49 Dogergo 2019-01-24 14:59:53 +08:00 有一个场景,新旧产品都需要我点击名称的时候弹出一个弹窗,但是根据新旧产品的不同,弹窗样式包括数据个数发生了很大变化,我弹窗层用的是 layer,我放在前端 js 里去判断是不是不太好,而我如果放在服务端,我之需要一个接口,拼接好 html,分配变量进去,返回,很完美,代码复用性更好。 |