uniapp onLoad接收携带参数的url地址,参数被解析转换成属性问题记录。

问题

使用onLoad接收url参数时,如果传递的链接有拼接的参数,参数就会被转换为属性,如下演示:

A页面传递:
	let url = 'https://www.baidu.com/index?id=1&name="aaa"'
	uni.navigateTo({
						url:'/pages/home/index?url='+ url
					})
B页面接收:
	onLoad(url){
			console.log(url)
		},
		// url打印结果 &后面的属性值会被拆分
		// url:{
		//		name:'aaa',
		//		url:'https://www.baidu.com/index?id=1'
		//	}

解决方案

使用for in 重新拼接一下

	onLoad(url){
			for(let key in url){
				if(url.url !== url[key])
				 url.url+='&'+ key+ '=' + url[key]
			}
			console.log(url.url)// https://www.baidu.com/index?id=1&name="aaa"
			
		}

版权声明:本文为A_Brave原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。