微信小程序wx.navigateTo跳转参数大小超出限制问题
兔子先森兔子先森 -微信小程序的跳转方式
wx.navigateTo(Object)
:保留当前页面,跳转到应用内的某个页面,使用 wx.navigateBack 可以返回到原页(新页面入栈)wx.redirectTo(Object)
:关闭当前页面,跳转到应用内的某个页面(当前页面出栈,新页面入栈)wx.switchTab(Object)
:跳转到 tabBar 页面,同时关闭其他非 tabBar 页面(非Tab页面全部出栈,只留下新的 Tab 页面)wx.navigateBack(Object)
:返回上一页面(页面不断出栈)wx.reLaunch(Object)
:关闭所有页面,打开到应用内的某个页面(页面全部出栈,只留下新的页面)跳转携带参数的方法:在跳转的链接后接?参数名=参数
wx.redirectTo({
url: `../heartOrder/index?Info=${JSON.stringify(obj)}`
})
跳转携带的参数必须转换为字符串,否则报错。
小程序跳转带参的字符长度是受限制的,如果字符过长,会被截取掉,解决办法如下:
使用encodeURIComponent
和decodeURIComponent
对字符进行编码和解码
encodeURIComponent(url):
可把字符串作为 URI 组件进行编码,返回URIstring 的副本,其中的某些字符将被十六进制的转义序列进行替换。
decodeURIComponent(url) :
可把字符串作为 URI 组件进行解码。返回URIstring 的副本,其中的某些字符将被十六进制的转义序列进行替换。
跳转页
wx.redirectTo({
url: `../heartOrder/index?Info=${encodeURIComponent(JSON.stringify(obj))}`
})
接收页
onLoad(options) {
let { Info} = options
Info = JSON.parse(decodeURIComponent(Info))
}
特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。