微信小程序地址栏url 地址传参有对象的参数 地址中包含、&特殊字符问题解决

若对象的参数或数组的元素中遇到地址,地址中包括、&这些特殊符号时,

  • 对象/数组先要通过JSON.stringify转化为字符串再通过encodeURIComponent编码,
  • 接收时,先通过decodeURIComponent解码再通过JSON.parse转换为JSON格式的对象/数组

出现:Error in onLoad hook: “SyntaxError: Unexpected end of JSON input” 问题
可以按照下面2步

新增页面 点击跳转页面 传参 这里是(item)

//点击新增按钮跳转页面时
editActivityPlace(item) {
				item = encodeURIComponent(JSON.stringify(item)) //这里的encodeURIComponent负责编码
				let url = "/pagesEquipment/pages/type/edittype?item=" + item
				uni.navigateTo({
					url: url
				})
			},

接收页面 编辑接收 回显

		onLoad(e) {
			e.item = JSON.parse(decodeURIComponent(e.item))  //这里的decodeURIComponent 就是转换json或数组
			if (e.item !== '新增') {
				this.form = e.item
				this.form.isEnable === true ? this.form.isEnable1 = '启用' : this.form.isEnable1 = '禁用'
				this.title = '编辑'
				uni.setNavigationBarTitle({
					title: this.title + "设备类型"
				})
			} else {
				uni.setNavigationBarTitle({
					title: e.item + "设备类型"
				})
			}
		},

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