微信小程序页面传参长度问题

需求: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解析问题‌

相关推荐
whinc20 小时前
🚀 两年小程序开发,我把踩过的坑做成了开源 Skills
前端·微信小程序·ai编程
Lupino1 天前
烧掉 10 刀 API 费,我才明白小程序虚拟列表根本不用“库”!
react.js·微信小程序
小溪彼岸2 天前
是时候给想做小程序的小伙伴泼盆冷水了
微信小程序
远山枫谷3 天前
一文理清页面/组件通信与 Store 全局状态管理
前端·微信小程序
木易士心4 天前
一文读懂:微信小程序云数据库直连原理与使用指南
微信小程序·serverless
明月_清风4 天前
小程序云函数:从入门到全栈的“降维打击”指南
前端·微信小程序·小程序·云开发
拉不动的猪5 天前
移动端调试工具VConsole初始化时的加载阻塞问题
前端·javascript·微信小程序
WangHappy7 天前
不写 Canvas 也能搞定!小程序图片导出的 WebView 通信方案
前端·微信小程序
小时前端7 天前
微信小程序选不了本地文件?用 web-view + H5 一招搞定
前端·微信小程序·uni-app
icebreaker8 天前
Weapp-vite:原生模式之外,多一种 Vue SFC 选择
前端·vue.js·微信小程序