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 是我跨页面传参用到的,如果在实际应用中,没有跨页面传参,可以去掉

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

相关推荐
性野喜悲2 小时前
uniapp返回上一页接口数据更新了,页面未更新
uni-app
冰镇生鲜4 小时前
小程序·安全·胶囊·容器组件
前端·vue.js·uni-app
盛夏绽放4 小时前
uni-app云开发总结
uni-app·云开发
halo14164 小时前
uni-app 小程序中的定位问题 以及 页面安全距离
小程序·uni-app
资深前端之路4 小时前
iphonex uniapp textarea标签兼容性处理过程梳理
uni-app
xx240621 小时前
UniApp学习笔记
uni-app
七七小报1 天前
uniapp-商城-36-shop 购物车 选好了 进行订单确认2 支付方式颜色变化和颜色滤镜filter
uni-app
lh_12541 天前
uniapp 常用开发技巧与实战指南
uni-app
某公司摸鱼前端1 天前
uniapp 仿企微左边公司切换页
前端·uni-app·企业微信
WKK_1 天前
uniapp自定义封装tabbar
前端·javascript·小程序·uni-app