Uniapp 报错Uncaught URIError: URI malformed

场景数据中有url,或者别的不规则的字符,就会报错

解决办法:

1、将复杂参替换

javascript 复制代码
	//传复杂参替换
	encodeContent(key) {
		const encodeArr = [{
			code: '%',
			encode: '%25'
		}, {
			code: '?',
			encode: '%3F'
		}, {
			code: '#',
			encode: '%23'
		}, {
			code: '&',
			encode: '%26'
		}, {
			code: '=',
			encode: '%3D'
		}];
		return key.replace(/[%?#&=]/g, ($, index, str) => {
			for (const k of encodeArr) {
				if (k.code === $) {
					return k.encode;
				}
			}
		});
	},

2、对数据进行处理

javascript 复制代码
		this.other = JSON.parse(decodeURIComponent(this.encodeContent(options.other)))
			
                          
        this.others = JSON.parse(decodeURIComponent(this.encodeContent(options.others)))

注意:JSON.parse 根据自己的需求去增加,因为我这个是需要将字符转为数组

decodeURIComponent 是我跨页面传参用到的,如果在实际应用中,没有跨页面传参,可以去掉

跨页面传参在下一篇文章中

相关推荐
明耀10 小时前
uniapp或者vue 使用serialport
前端·vue.js·uni-app
xiyueta10 小时前
基于 uni-app 和 Vue3 开发的汉字书写练习应用
uni-app·canvas
黛色正浓10 小时前
【uniapp】新闻列表+跳转详情页+评论展示(uni.request请求接口)
前端·javascript·uni-app
sailven10 小时前
【uniapp】图片添加canvas水印
uni-app·vue·canvas·拍照·图片水印
JefferyAnd10 小时前
uniapp 微信小程序 升级 uniad插件版本号
微信小程序·小程序·uni-app
HerayChen10 小时前
uniapp微信小程序vue3自定义tabbar
微信小程序·小程序·uni-app
wangDer_me10 小时前
uniapp使用蓝牙,usb,局域网,打印机打印
uni-app
小钟H呀10 小时前
Uniapp实现地图获取定位功能
uni-app
wwf122516 小时前
uniapp 安卓app图片回显,默认不支持http图片地址,上传图片和回显图片
android·http·uni-app
Jiaberrr18 小时前
在Uniapp中实现特殊字符弹出框并插入输入框
前端·javascript·微信小程序·小程序·uni-app