传递参数为对象格式

若参数为对象则需先使用 JSON.stringify()进行转换 , 接收后使用JSON.parse()转为对象

传递参数中含有? = &等特殊字符

若传递参数中含有=,?,&等特殊字符 无法正常传递参数 则需要进行编码解码 传递时使用encodeURIComponent() 接收时使用decodeURIComponent()

小程序页面跳转传递url地址
let url = 'https://opendocs.alipay.com/mini/api/zwi8gx?dyh=kk&y=k&j=p'
my.navigateTo({
  url: '/pages/payWeb/payWeb?url=' + url
},
接收页面
onLoad(options) {
	console.log('payUrl---', options);
},

传的是url,接收却成了Object了

小程序页面跳转-url地址传参的参数处理_json

问题处理
//传递处理
let url = 'https://opendocs.alipay.com/mini/api/zwi8gx?dyh=kk&y=k&j=p'
my.navigateTo({
	url: `/pages/payWeb/payWeb?url=${encodeURIComponent(JSON.stringify(url))}`
})

//页面接收
onLoad(options) {
	console.log('payUrl---', options, decodeURIComponent(JSON.parse(options.url)));
	this.setData({
		url: decodeURIComponent(JSON.parse(options.url))
	})
},

小程序页面跳转-url地址传参的参数处理_小程序页面跳转_02