在小程序中,页面跳转传参,都是在URL后面直接拼value,比如:

let url = 'http://www.****.com?aaa=0&bbb=1'    
    wx.navigateTo({
      url: '../about/about?url='+ url
    })
  • 1.
  • 2.
  • 3.
  • 4.

然后在接收页面直接用options就可以获取,但是,获取到的URL没有问号后面的参数:?aaa=0&bbb=1

然后在社区里看到别人也遇到这类问题,原来是传参如果遇到URL并且携带参数需要编码传,接收时再解码,解决方案如下:

let url = encodeURIComponent('http://www.****.com?aaa=0&bbb=1')  
    wx.navigateTo({
      url: '../about/about?url='+ url
    })
  • 1.
  • 2.
  • 3.
  • 4.

在另一个页面onLoad里接收:

onLoad:function(options){
     let url = decodeURIComponent(options.url)
  }
  • 1.
  • 2.
  • 3.

完事...

这儿用到了两个编码解码的方法:encodeURIComponent decodeURIComponent