微信小程序跳转页面后onload中获取到的参数值和跳转页面时传的参数不一样
生活随笔
收集整理的這篇文章主要介紹了
微信小程序跳转页面后onload中获取到的参数值和跳转页面时传的参数不一样
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
?channel是一個從后端獲取的被加密的一個字符串且已經(jīng)被encode,我不對其進行修改,只在頁面中跳轉(zhuǎn)時帶上這個參數(shù),有接口需要傳給后端這個參數(shù)時,傳給他decodeURIComponent(channel),理論上沒有問題,但是后端數(shù)據(jù)庫表記錄發(fā)現(xiàn)他解密我傳給他的這個數(shù)據(jù)變成了亂碼,就很莫名其妙,代碼看著沒什么問題
頁面A中 let channel = `xh8Dfx0BMhc%3Dizk15iMzexEJHh8rgxU1Kicncz0FFjr8Cz2ylrt8qxGGVouHo`; wx.navigateTo({url: `pages/item/detail?channel=${channel}` })頁面B onLoad(options){this.channel = options.channel || ''console.log(options.channel) //xh8Dfx0BMhc%253Dizk15iMzexEJHh8rgxU1Kicncz0FFjr8Cz2ylrt8qxGGVouHo }細心的朋友已經(jīng)看出上面的字符串在跳轉(zhuǎn)后再輸出已經(jīng)被改變,最后找到原因。跳轉(zhuǎn)頁面時,參數(shù)會被encode一次,只要再跳轉(zhuǎn)的頁面獲取值時decode一下就可以了
頁面A中 let channel = `xh8Dfx0BMhc%3Dizk15iMzexEJHh8rgxU1Kicncz0FFjr8Cz2ylrt8qxGGVouHo`; wx.navigateTo({url: `pages/item/detail?channel=${channel}` })頁面B onLoad(options){this.channel = options.channel ? decodeURIComponent(options.channel) : ''console.log(options.channel) //xh8Dfx0BMhc%3Dizk15iMzexEJHh8rgxU1Kicncz0FFjr8Cz2ylrt8qxGGVouHo }這下就沒問題了??
總結(jié)
以上是生活随笔為你收集整理的微信小程序跳转页面后onload中获取到的参数值和跳转页面时传的参数不一样的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数学建模【转】
- 下一篇: 在线制作流程,数据库模型,网络架构图,你