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

单页应用使用 URL 传递参数,哪种是标准方式呢

  •  
  •   zqx · 150 天前 via Android · 816 次点击
    这是一个创建于 150 天前的主题,其中的信息可能已经有所发展或是发生改变。

    第一种: /user/1/detail
    第二种: /user/detail?id=1
    React ,Vue 的路由库都提供了方法,支持从 url path 里传参,类似于第一种方式,路由声明可能是 /user/:id/detail ,由各家的路由库解析为一个对象。
    但是浏览器也提供了 URL 对象,searchParams 方法支持解析?后面的参数字符串为一个对象。
    应该用哪种呢?我一直用的第二种。

    8 条回复    2021-12-29 09:17:32 +08:00
    Pastsong
        1
    Pastsong  
       150 天前
    用 1 比较 restful
    libook
        2
    libook  
       150 天前
    没有所谓标准方式,你用 Body 和 Header 传也是可以的,关键是前后端能够约定一个当前项目的 API 标准。
    TomatoYuyuko
        3
    TomatoYuyuko  
       150 天前
    确实是看约定,和后端约定好了怎么用都行,个人习惯是用户 id 一类的用第一种,纯业务参数类的用第二种,可以组合
    cloverstd
        4
    cloverstd  
       150 天前
    别人说的是前端路由
    waiaan
        5
    waiaan  
       150 天前
    没有标准,反正都是前端解析,你自己爱怎么来怎么来。
    aaniao002
        6
    aaniao002  
       150 天前 via Android
    建议用 index.html#/user/detail ? id=1 ,老浏览器前端读取 uel 有问题。不考虑的话无所谓。
    aaniao002
        7
    aaniao002  
       150 天前 via Android
    url
    zqx
        8
    zqx  
    OP
       149 天前 via Android
    最近实践发现,路由参数风格没办法动态传参,也就是说要传的参数字段必须提前定义好,一旦参数传错位置,就会导致路由错误,甚至打不开页面。
    使用?search 风格,可以传任意参数,传了多余的参数,接收方也不用管,可扩展性更强一些。
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4122 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 02:37 · PVG 10:37 · LAX 19:37 · JFK 22:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.