data: {
arry:"crmAccountDetail?queryBean=",
},
handleTap: function() {
wx.navigateTo({
url: '../search/search?queryBean=' + JSON.stringify(this.data.arry),
})
},
但是在接收界面onLoad的时候,接收的值是被从?往后截取掉的
经过测试,把?去掉,接收的值也会把=往后截取掉的
onLoad: function(options) {
console.log("当前的searchObj是:" + options.queryBean);//当前的searchObj是:"crmAccountDetail
this.data.searchObj = JSON.parse(options.queryBean); //解析得到对象
this.setData({
searchObj: JSON.parse(options.queryBean)
})
},
百度搜索到的内容:
因为不能上链接,所以就把内容复制过来了。原作者:韦弦zhy
微信小程序导航参数中含有问号
参数含有问号怎么办.jpg有时从一个页面导航到另一个页面需要携带参数,而正巧的是,参数中含有问号(?),此时,后面的页面在onLoad: function (options)中是拿不到我们想要的数据的比如: wx.navigateTo({
url: "../about/about?a=3?3"
})我们拿到的options中却是:{a=3}后面的数据直接丢失了解决方法有三:一、将该参数设为全局变量var app = getApp()app.globalData.paramsName = " "然后在需要的界面去取二、存入storage wx.setStorageSync("paramName", "paramValue")然后在需要的界面使用 wx.getStorage({
key: 'paramName',
success: function(res) {
console.log(res.data)
},
})三、使用escape转码 和 unescape解码 let data = escape("4?4")
wx.navigateTo({
url: "../about/about?a=" + data }) onLoad: function (options) {
console.log(options)
let a = options.a
a = unescape(a)
console.log(a)
}四和三一样,还可以使用 encodeURIComponent 和 decodeURIComponent 这就是微信小程序中导航的参数含有?的解决方案,如果还有其他好的方法,欢迎留言交流。
微信小程序开发问题解答
微信小程序开发者回答:
百度了一番后,终于解决了。
使用 encodeURIComponent 和 decodeURIComponent转码和解码就好了。
还有人说使用escape转码 和 unescape解码
微信小程序开发者回答:
传参里面带?肯定不行呀,你unicode下
本文网址:http://www.91bianli.com/weixinxiaochengxu/19309.html