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

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

相关推荐
Angindem5 小时前
从零搭建uniapp项目
前端·vue.js·uni-app
Bug从此不上门10 小时前
【无标题】
前端·javascript·uni-app·vue
耶啵奶膘13 小时前
uniapp+vue2解构赋值和直接赋值的优缺点
uni-app
疯狂的沙粒14 小时前
uni-app 项目支持 vue 3.0 详解及版本升级方案?
前端·vue.js·uni-app
Jiaberrr14 小时前
uniapp Vue2 获取电量的独家方法:绕过官方插件限制
前端·javascript·uni-app·plus·电量
^Rocky15 小时前
uniapp 对接腾讯云IM群公告功能
uni-app·腾讯云
段旭涛15 小时前
uniapp 设置手机不息屏
前端·uni-app
疯狂的沙粒18 小时前
在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?
前端·uni-app·html
狼性书生1 天前
uniapp实现的简约美观的星级评分组件
前端·uni-app·vue·组件
Jiaberrr1 天前
uniapp 安卓 APP 后台持续运行(保活)的尝试办法
android·前端·javascript·uni-app·app·保活