Error message here!

Hide Error message here!

忘记密码?

Error message here!

请输入正确邮箱

Hide Error message here!

密码丢失?请输入您的电子邮件地址。您将收到一个重设密码链接。

Error message here!

返回登录

Close

uniapp 页面url参数传递,使用encodeURIComponent

凯迪Wen 2019-12-31 14:13:33 阅读数:121 评论数:0 点赞数:0 收藏数:0

由于微信小程序URL传参时,如果不转换数据并且参数带有特殊字符,则微信会截取数据,导致数据不完整。

所以,我们可以使用encodeURIComponent,对参数进行转换特殊字符。(注意:encodeURIComponent时,需要把对象数据转string格式)

// 组拼数据
let data = {
aa: 123,
bb: 456
}
let newData = JSON.stringify(data);
uni.navigateTo({
url: `/pages/xxxxxxx?data=${encodeURIComponent(newData)}`
});
跳转页面时,传参示例图

image.png

上图可以看到,有些数据的字符被转换了

最后,我们在跳转后的页面,再使用decodeURIComponent,转回正常数据,再使用JSON.parse即可获取完整数据。

let dData = decodeURIComponent(option.data);
let newData = JSON.parse(dData);
console.log(newData)
总结:
先把数据JSON.stringify转string格式,再使用encodeURIComponent对数据特殊字符进行转换。

跳转页面后,使用decodeURIComponent把特殊字符转回来,再使用JSON.parse转成对象格式即可。

版权声明
本文为[凯迪Wen]所创,转载请带上原文链接,感谢
https://segmentfault.com/a/1190000021452143