微信小程序页面传参长度问题
需求:a页面传递参数到b页面,传递的参数是一个对象,需要进行json转换,但在小程序中传递的参数长度是有限制的,因此我们传递的时候可以,但是接收的时候,往往会被自动截取掉超出的部分,从而达不到我们想要的效果,这就需要对传递的数据进行处理;
解决:
a页面:
// 查看教练个人信息
function getTrainerInfo(item) {
const info = encodeURIComponent(JSON.stringify(item))
uni.navigateTo({
url: `/pages/trainerInfo/trainerInfo?info=${info}`
})
}
b页面:
onLoad((options) => {
info.value = JSON.parse(decodeURIComponent(options.info))
console.log('info.value', info.value);
})
总的来说就是对传输的数据进行编码,以确保特殊字符在URL中安全传输。该函数会将除了字母、数字、连词号(-)、下划线(_)、点(.)、感叹号(!)、波浪线(~)、星号(*)、单引号(')、圆括号(())之外的所有字符进行转码,将其转换为百分号(%)后跟随的两个十六进制数表示的形式。这样处理后的字符串可以确保在URL中不会被解释为特殊字符,从而避免参数传递错误或URL解析问题
原文地址:https://blog.csdn.net/m0_58575070/article/details/144787989
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!