小程式頁面跳轉傳參包含連結地址方案
阿新 • • 發佈:2019-02-07
場景:
如:
A介面傳參
let webUrl ='http://www.ca.com?a=45&dd=23'
wx.navigateTo({
url: '../../partials/chating/chating?webUrl=webUrl ,
})
最後B介面得到引數的卻是
#得到的是
{'webUrl':'http://www.ca.com','a':'45','dd':'23'}
#而不是
{'webUrl':'http://www.ca.com?a=45&dd=23'}
解決方案如下:
傳參
先把所有的引數放到一個物件裡面,然後把物件轉換成json字串,再然後通過encodeURIComponent對json字串進行編碼,最後再把編碼後的資料傳到下個頁面;
let jsonParam = {
accid: '1051004266212233216',
nick: '代詩',
url: "http://www.ca.com?a=45&dd=23"
}
wx.navigateTo({
url: '../../partials/chating/chating?chatTo=1051004266212233216'+'&jsonParam=' + encodeURIComponent(JSON.stringify(jsonParam)),
})
取參
先取到經過編碼傳過來的資料,然後對該資料使用decodeURIComponent進行解碼,得到解碼後的json字串,最後對解析json字串就好;
/**
* 生命週期函式--監聽頁面載入
*/
onLoad: function(options) {
let jsonParam = JSON.parse(decodeURIComponent(options.jsonParam));
console.log(jsonParam);
//{accid: "1051004266212233216", nick: "代詩", url: "http://www.ca.com?a=45&dd=23"}
}