收藏
回答

navigateto / redirectTo 和参数解析, 不遵守URL 规范 ?

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug navigateto / redirectTo 微信iOS客户端 最新 2.14.1

https://developers.weixin.qq.com/miniprogram/dev/api/route/wx.redirectTo.html

/pages/demo/demopage?<param-name>=<param-value>
假如: param-name 和 param-value 应该采用 encodeUrlComponent() 来 编码, 
同样的对于  onload  的参数, 也应该采用 decodeUrlComponent() 来解码


比如: url = /pages/index/index?a=1&b=2

编码后应该是 /pages/demo/demopage?url=%2Fpages%2Findex%2Findex%3Fa%3D1%26b%3D2

但是 onload 应该得到 { "url": "/pages/index/index?a=1&b=2" }

实际上得到的是 %2Fpages%2Findex%2Findex%3Fa%3D1%26b%3D2

这就尴尬了,因为如果不编码或者 不采用 component 编码 里面 & = 都不会被编码,

这意味着, 得到参数{ url: "/pages/index/index?a=1", b = 2 }

回答关注问题邀请回答
收藏

3 个回答

  • 金昇
    金昇
    01-25

    这个问题官方不出面解释一下么?

    01-25
    有用
    回复
  • 面条君
    面条君
    2020-12-31

    确实是这样的,url后面的参数会当做字符串类型处理,你参数里面带链接,所带的链接里面又包含参数,这当然是傻傻分不清的。你可以尝试在参数所带的链接里使用不同的符号代表&和?,自己封装解析方法

    2020-12-31
    有用
    回复
  • 默
    2020-12-31

    有趣

    2020-12-31
    有用
    回复
登录 后发表内容
问题标签