
感觉一般 ajax 都是直接返回 json. 难道是因为 html 比 json 大的原因?
看了这么多回复,大概的原因是这个
所以我直接返回html,对我这个项目是合适的?
1 Luckyray 2017-02-25 16:03:43 +08:00 via iPhone 还得后台渲染是不是加重了负担? |
2 RE 2017-02-25 16:09:53 +08:00 用 ajax 的其中一个目的就是服务端只处理业务,然后返回业务处理后的结果,以 json 格式返回,就可以做到前后端分离了。 如果返回 html ,那后端开发的时候还得去考虑到底某句话要放在什么标签里面,某个地方要搭配什么 icon 用什么 css ,而这些本应该是前端的工作。 |
3 oisc 2017-02-25 16:12:39 +08:00 HTML --> HyperText Markup Language ,是标记语言,不是数据结构 |
4 simple2025 OP @RE 是为了前后端的目的是吧,那如果是一个管理后台这种几乎不需要前端的,那就可以返回 html 了? |
5 Cbdy 2017-02-25 16:27:12 +08:00 via Android 早期 jquery 的 onload 没有用过吗? |
7 simple2025 OP @cooro 用 bootstrap 就好了呀 ,小公司后端样式不怎么看重,看重也没办法 |
8 loading 2017-02-25 17:08:09 +08:00 via Android 有返回 xml 的,你指的应该是这个吧。 |
9 kindjeff 2017-02-25 17:08:21 +08:00 via iPhone b 站搜索页面点下一页返回的就是个 html 然后嵌进去的。 |
10 simple2025 OP @kindjeff 那种估计是 pjax ,那种东西不会用 |
11 Reign 2017-02-25 17:12:14 +08:00 万一前端模板变了啊 |
13 cooro 2017-02-25 17:16:29 +08:00 via iPhone 麻雀虽小,该有的都得有。后台管理不只是样式吧。前期图“省事”(还不一定),后期就费劲了。 |
14 simple2025 OP @kindjeff 不一样啊,那种不仅返回的是 html 并且好像 page 的变化也要表现在 history 里面 |
15 doubleflower 2017-02-25 18:51:50 +08:00 几年前 ajax 刚开始的时候大家都返回 html 直接替换一块 dom 的。直到后来前端开始有架构了,从 backbone 开始,到 angular/react 才没人这么干了。 |
16 Mbin 2017-02-25 18:58:20 +08:00 比如现在的 express + ejs 模板,这种就是直接返回 html 模服务器渲染的,现在也是油公司这样开发的,配合内部框架,前后台一人搞定 |
17 bombless 2017-02-25 18:58:56 +08:00 via Android backbone 貌似就是返回 html 的,没用过 |
18 helloccav 2017-02-25 19:01:42 +08:00 via Android @RE 对我个人来说,因为我要同时做前端和后端,所以我的 ajax 一般是返回 html ,这样我的 html 代码就可以复用了 |
19 sfree2005 2017-02-25 19:28:17 +08:00 还有考虑到移动端的需要, 前后端分离其中的一个好处 |
20 jsq2627 2017-02-25 19:32:19 +08:00 via iPhone 上古时代 ajax 确实主要返回 xml 和 html |
21 lightening 2017-02-25 19:51:04 +08:00 不少。看 Pjax 和 Turbolinks 。 React 也可以 server 端 render 。前端不复杂(仅仅需要无刷新跳转,而不是类似 gmail 这样的页面内逻辑)的网站用这种方式更方便。 我现在比较偏向与用这种方式再在需要复杂前端的页面嵌入 React 。 |
22 k9982874 2017-02-25 20:02:29 +08:00 via iPad 不少啊,返回的 500 错误都是 html 啊,(斜眼笑 |
23 xrlin 2017-02-25 20:38:34 +08:00 用 rails 的时候偶尔会这么干,虽然感觉不太好,但比在前端用 js 写逻辑方便多了。 |
24 hoythan 2017-02-25 21:46:46 +08:00 分页和无刷新加载我都是使用 ajax 返回 html, 直接用 ajax 获取下一页地址然后获取到下一页的 html, 直接填充到当前网页就行了. |
26 halden 2017-02-26 01:12:02 +08:00 除去上面已经提到的前后端分离,还有性能的影响,现在前端很少直接写整个 html 的了,而且现在“需要”返回 html 的情况非常少吧,除非你说要替换大部分 dom ,有点类似潜入 iframe 的感觉,但这是有具体需求的情况下才会这样用(比如防止 js/css 污染等,绝大多数在线 code 编辑器都是用的 iframe ) @helloccav 并没有理解你所说代码复用是什么情况, html 作为 view 本来就是复用的,但这和返回 json 并不冲突啊, html(layout 不变) + json(数据动态变化) -> 完整页面 |
28 hst001 2017-02-26 01:32:51 +08:00 1 、减少服务端渲染的步骤,节约服务器的资源 2 、前后端分离,可以让一个接口服务不同的前端,前端爱怎么渲染怎么渲染,这里的前端当然包括移动端等 3 、只传数据可以减少传输的字节,节约带宽就是节约金钱 |
29 vibbow 2017-02-26 01:57:13 +08:00 我之前的单位就是这样做的, ajax 直接返回 html 。 还有把整个 dom 干掉, ajax load 一个新的 html 到页面上,也是经常用的...... #所谓的无缝刷新... |
30 Tink PRO 看你怎么用,我自己一个人写都是返回 json |
31 gouflv 2017-02-26 10:43:24 +08:00 via iPhone 你可以查下前后端分离的具体做法 |
32 leopku 2017-02-26 11:08:26 +08:00 踩过坑就知道为啥以前流行的 ajax 返回 html 现在不流行转而流行只返回数据了 |
33 fuxiaohei 2017-02-26 11:21:38 +08:00 这是 pjax ,最有名的使用者是 Github 。 你在项目切换代码文件目录,就可以看到 pjax 的 xhr |
34 ppwangs 2017-02-26 15:47:06 +08:00 pjax |
35 wenzichel 2017-02-27 09:39:24 +08:00 直接返回 json 格式的数据,有利于多环境的使用,比如多个页面中只是数据一样,但是展示的方式不一样;还有就是接口维护方便,当字段发生改变时,前端页面的展示尽量不受到影响 |
36 tofishes 2017-02-27 12:50:33 +08:00 ajax 返回 html 没什么问题,简单易用。至于什么时候返回 json ,你到时候自然会明白。选择适合你当前的用法就行了。 |