V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
helloxiaojun
V2EX  ›  问与答

AJAX 返回数据,由服务端生成网页元素,还是客户端脚本生成网页元素

  •  
  •   helloxiaojun · 2017-01-23 10:08:14 +08:00 · 2461 次点击
    这是一个创建于 2864 天前的主题,其中的信息可能已经有所发展或是发生改变。

    当我使用 AJAX 更新网页页面数据的时候,我该让服务端去拼接数据和 HTML 标签成为网页元素然后返回,还是让服务端只返回数据,让客户端的脚本去生成页面元素。 比如第一次加载网页没有元素 A ,需要时异步取得数据并生成,后续还可以更新元素 A 的数据。

    16 条回复    2017-01-23 19:11:41 +08:00
    ql9075
        1
    ql9075  
       2017-01-23 10:18:21 +08:00
    客户端拼接,服务端返数据,每个类型做个标记吧
    think2011
        2
    think2011  
       2017-01-23 10:23:44 +08:00
    最好前端拼接,前端拿到数据后可以灵活的组合展示标签,如果有用到 react 、 angular 、 vue 等那就再合适不过了。
    Exin
        3
    Exin  
       2017-01-23 10:29:29 +08:00 via iPhone   ❤️ 1
    看你站点采用的渲染方式是哪种,保持统一就行

    比如 b 站就是服务端渲染拿到客户端直接扔进 dom ,而大部分前后端分离的是客户端渲染
    shoaly
        4
    shoaly  
       2017-01-23 10:57:52 +08:00   ❤️ 1
    看你们前端强势还是后端强势, 后端强 就直接返回 dom, 前端无脑填充 就可以
    如果前端强势, 后端只需要给基本 json 数据, 前端负责去加工渲染
    hcymk2
        5
    hcymk2  
       2017-01-23 11:00:35 +08:00
    做个中间层啊. 要什么给什么啊.
    BOYPT
        6
    BOYPT  
       2017-01-23 11:02:57 +08:00
    这是两个流派啊,楼主你是要引战吗
    helloxiaojun
        7
    helloxiaojun  
    OP
       2017-01-23 11:35:52 +08:00
    @ql9075 每个类型做个标记是什么意思。
    helloxiaojun
        8
    helloxiaojun  
    OP
       2017-01-23 11:36:58 +08:00
    @think2011 似乎有些道理。
    helloxiaojun
        9
    helloxiaojun  
    OP
       2017-01-23 11:38:48 +08:00
    @BOYPT 天哪,这也有流派之分么。
    BOYPT
        10
    BOYPT  
       2017-01-23 13:15:11 +08:00
    @helloxiaojun 嗯……传统流派是比较前后端数据分离,只用 json 传数据;而现在前端大有反哺后端的趋势,前端框架纷纷出现服务器端渲染,称作“直出流派”
    ql9075
        12
    ql9075  
       2017-01-23 14:28:54 +08:00
    @helloxiaojun 比如 A 标签取 a 集合并带上当前长度
    cszchen
        13
    cszchen  
       2017-01-23 15:28:58 +08:00
    最好当然是前端来渲染,但是这种做法对前端要求很高,因为前端要处理很多逻辑,而不再是仅仅做做 UI 和特效了
    helloxiaojun
        14
    helloxiaojun  
    OP
       2017-01-23 17:20:51 +08:00
    @BOYPT 哇喔!
    helloxiaojun
        15
    helloxiaojun  
    OP
       2017-01-23 17:22:00 +08:00
    @ql9075 还是不懂
    maplerecall
        16
    maplerecall  
       2017-01-23 19:11:41 +08:00 via Android   ❤️ 1
    通常来说接口传递的数据越纯粹越好,节省流量有利于多端复用,而且就性能上来说直接传 html 代码并不一定会比使用浏览器 api 生成 dom 快多少,还会增加服务器负担,所以个人感觉如果前端技术没问题的话接口还是只传纯数据比较好。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3131 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 00:36 · PVG 08:36 · LAX 16:36 · JFK 19:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.