场景:
平时如果我们在某个页面A传一个带有参数的网络地址(http://www.ca.com?a=45&dd=23)给页面B;如果直接通过字段复制,往往不能直接得到对应http://www.ca.com?a=45&dd=23,微信小程序会自动把该参数拆分成多个参数;
如:
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"}}













