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

ajax 传输是现在的主流吗

  •  
  •   boatfu · 2019-04-12 16:27:13 +08:00 via Android · 2897 次点击
    这是一个创建于 2081 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我想把自己写的 form 表单用 json 传输,但发现好麻烦

    但我觉得以前的 form 里 action=“”更方便呀,java 后端用 req.getParameter 接收参数就行了

    8 条回复    2019-04-13 13:05:53 +08:00
    coolair
        1
    coolair  
       2019-04-12 16:34:50 +08:00
    我也是这么觉得的,我用 Python,直接用 form 还带验证。用 ajax 前端验一遍,后端验一遍,拼个数据害怕少了字段。估计是我用的姿势不对。
    stillsilly
        2
    stillsilly  
       2019-04-12 16:38:12 +08:00
    ajax 有点 out 了,这两年开始流行用 fetch
    momocraft
        3
    momocraft  
       2019-04-12 17:05:35 +08:00
    如果你只用 html/form 不一定要迁就现代框架 /SPA 的做法
    johnnyNg
        4
    johnnyNg  
       2019-04-12 18:08:58 +08:00 via Android
    和 ajax 对比的应该是 websocket,你说的是 form,做对比的因该是 json 和 xml 吧
    KasuganoSoras
        5
    KasuganoSoras  
       2019-04-12 18:22:27 +08:00
    WebSocket 是主流,因为 WebSocket 拥有 AJAX 不可比拟的实时更新速度,但是缺点是服务端需要一个进程常驻。
    WebSocket 应用实例: https://www.zerobbs.net/ 查看任意帖子,按 F12 然后刷新看看,你可以找到一个 WebSocket 连接,它用于实时显示论坛的最新评论。
    KasuganoSoras
        6
    KasuganoSoras  
       2019-04-12 18:25:18 +08:00
    现在越来越多网站开始使用 WebSocket,例如 Google,Github 等大厂平台都开始使用 WebSocket 了。
    AJAX 现在也不算过时,毕竟每个场景所需要使用的传输技术不同,并不是所有东西都一定要用 WebSocket 来传输,具体还是需要看你的项目需求,该用什么就用什么。
    sunjiayao
        7
    sunjiayao  
       2019-04-12 20:47:39 +08:00
    如果参数是 json 的话,可以写个 MessageConvert 转换下。但整个项目都用 json 没有必要的,出现上传类请求不是很方便。
    thundernet8
        8
    thundernet8  
       2019-04-13 13:05:53 +08:00
    ajax 和 json 是两种不同的概念,一个是传输技术,一个是传输 content-type, ajax 照样能 formdata 让你 req.getParameter 拿数据,看看 application/x-www-form-urlencoded 和 application/json 的区别
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   927 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 22:40 · PVG 06:40 · LAX 14:40 · JFK 17:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.