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

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

相关推荐
木易士心18 小时前
一文读懂:微信小程序云数据库直连原理与使用指南
微信小程序·serverless
明月_清风1 天前
小程序云函数:从入门到全栈的“降维打击”指南
前端·微信小程序·小程序·云开发
拉不动的猪2 天前
移动端调试工具VConsole初始化时的加载阻塞问题
前端·javascript·微信小程序
WangHappy4 天前
不写 Canvas 也能搞定!小程序图片导出的 WebView 通信方案
前端·微信小程序
小时前端4 天前
微信小程序选不了本地文件?用 web-view + H5 一招搞定
前端·微信小程序·uni-app
icebreaker5 天前
Weapp-vite:原生模式之外,多一种 Vue SFC 选择
前端·vue.js·微信小程序
icebreaker5 天前
重走 Vue 长征路 Weapp-vite:编译链路与 Wevu 运行时原理拆解
前端·vue.js·微信小程序
大米饭消灭者8 天前
Taro是怎么实现一码多端的【底层原理】
微信小程序·taro
FliPPeDround9 天前
Vitest Environment UniApp:让 uni-app E2E 测试变得前所未有的简单
微信小程序·e2e·前端工程化
FliPPeDround9 天前
微信小程序自动化的 AI 新时代:wechat-devtools-mcp 智能方案
微信小程序·ai编程·mcp