传递参数中含有? = &等特殊字符若参数为对象则需先使用 JSON.stringify()进行转换 , 接收后使用JSON.parse()转为对象
小程序页面跳转传递url地址若传递参数中含有=,?,&等特殊字符 无法正常传递参数 则需要进行编码解码 传递时使用encodeURIComponent() 接收时使用decodeURIComponent()
let url = 'https://opendocs.alipay.com/mini/api/zwi8gx?dyh=kk&y=k&j=p'
my.navigateTo({
url: '/pages/payWeb/payWeb?url=' + url
},
接收页面
onLoad(options) {
console.log('payUrl---', options);
},
传的是url,接收却成了Object了
//传递处理
let url = 'https://opendocs.alipay.com/mini/api/zwi8gx?dyh=kk&y=k&j=p'
my.navigateTo({
url: `/pages/payWeb/payWeb?url=${encodeURIComponent(JSON.stringify(url))}`
})
//页面接收
onLoad(options) {
console.log('payUrl---', options, decodeURIComponent(JSON.parse(options.url)));
this.setData({
url: decodeURIComponent(JSON.parse(options.url))
})
},