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 }
这个问题官方不出面解释一下么?
确实是这样的,url后面的参数会当做字符串类型处理,你参数里面带链接,所带的链接里面又包含参数,这当然是傻傻分不清的。你可以尝试在参数所带的链接里使用不同的符号代表&和?,自己封装解析方法
有趣