微信小程序(uni-app)url参数传递对象

开发小程序和uni-app时,遇到需要在navigaor组件中传递对象参数到下一个页面的需求,传递对象时如果不JSON.stringify的话,接收到的对象会被转化成[object,object]形式。但是使用字符串化往往还会带来另一个问题,那就是超出规定的长度。那么怎么解决呢?方案如下,两步走:

1.使用encodeURIComponent以及JSON.stringify()方法对对象进行字符串化和编码,这样可以控制url参数的长度,参考示例代码(uni-app书写方式,微信小程序自己改。)

<navigator :url="'/pages/base/baseEdit/baseEdit?item='+ encodeURIComponent(JSON.stringify(item))"></navigator>

2.接受信息的页面使用JSON.parse()以及decodeURIComponent()接收和解码参数。

onLoad(option){
	const item = JSON.parse(decodeURIComponent(option.item));
}

上述两步即可解决url传递的对象的被编码和长度超长问题了,本人项目中即使用此种方法,你懂的,这亚子都搞不定就雨我无瓜了


版权声明:本文为qq_16371909原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。