小程序页面跳转数据丢失

问题:

    当参数为url时且值含有"?",接收参数时在options中"?"之后字符串被截取

例子:

let url="http://baidu.com/?a=1"
wx.navigateTo({
    url:'../detail?url='+url
})

console.log(options.url)   //得到的值http://baidu.com

原因:

  解析问题

解决办法:

  使用encodeURIComponent():函数可把字符串作为 URI 组件进行编码。

let url=encodeURIComponent("http://baidu.com/?a=1&b=2")
wx.navigateTo({
url: `detail?url=${url}`
})

  在获取的时候decodeURIComponent(options.url)