微信小程序 - 带参数跳转页面参数字段文章内容太长或包含特殊字符(“?“,“&“ 或 “=“ - 新闻资讯 - 云南小程序开发|云南软件开发|云南网站建设-昆明葵宇信息科技有限公司

159-8711-8523

云南网建设/小程序开发/软件开发

知识

不管是网站,软件还是小程序,都要直接或间接能为您产生价值,我们在追求其视觉表现的同时,更侧重于功能的便捷,营销的便利,运营的高效,让网站成为营销工具,让软件能切实提升企业内部管理水平和效率。优秀的程序为后期升级提供便捷的支持!

您当前位置>首页 » 新闻资讯 » 小程序相关 >

微信小程序 - 带参数跳转页面参数字段文章内容太长或包含特殊字符(“?“,“&“ 或 “=“

发表时间:2020-10-19

发布人:葵宇科技

浏览次数:33

前言

在微信小程序,使用 wx.navigateTo({}) API 携带参数跳转页面很常见,但是今天有一个需求,需要携带一个复杂的数据,它是一个数组,里面嵌套了 N 个对象,对象里还有数组。 所以我需要使用 JSON.stringify 将对象转为字符串,然后再传递过去。

我的场景:其中 image 属性中包含文章链接,导致了 JSON.parse 解码失败,因为被截取了。

解决方案

encodeURIComponent() 进行转码,在目标页面再用 decodeURIComponent() 解码。

/*
* [发送参数]
* 1. 将对象解析为字符串
* 2. 把字符串作为 URI 组件进行编码
*/

wx.navigateTo({
     url: '/pages/index?data=' + encodeURIComponent(JSON.stringify(object)),
})
/*
* [接收参数]
* 1. 将字符串解析为对象
* 2. 把字符串作为 URI 组件进行解码
*/

this.setData({
	data: JSON.parse(decodeURIComponent(options.data))
})

相关案例查看更多