微信小程序(uni-app)url参数传递对象
程序员文章站
2022-07-14 18:23:18
...
开发小程序和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传递的对象的被编码和长度超长问题了,本人项目中即使用此种方法,你懂的,这亚子都搞不定就雨我无瓜了
。