问题
使用onLoad接收url参数时,如果传递的链接有拼接的参数,参数就会被转换为属性,如下演示:
A页面传递:
let url = 'https://www.baidu.com/index?id=1&name="aaa"'
uni.navigateTo({
url:'/pages/home/index?url='+ url
})
B页面接收:
onLoad(url){
console.log(url)
},
// url打印结果 &后面的属性值会被拆分
// url:{
// name:'aaa',
// url:'https://www.baidu.com/index?id=1'
// }
解决方案
使用for in 重新拼接一下
onLoad(url){
for(let key in url){
if(url.url !== url[key])
url.url+='&'+ key+ '=' + url[key]
}
console.log(url.url)// https://www.baidu.com/index?id=1&name="aaa"
}