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

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

相关推荐
2501_9159214310 分钟前
没有 iOS 源码的前提下如何进行应用混淆,源码混淆失效后的替代
android·ios·小程序·https·uni-app·iphone·webview
2501_915106324 小时前
Perfdog 成本变高之后,Windows 上还能怎么做 iOS APP 性能测试
android·ios·小程序·https·uni-app·iphone·webview
奶糖 肥晨5 小时前
JS自动检测用户国家并显示电话前缀教程|vue uniapp react可用
javascript·vue.js·uni-app
2501_915106325 小时前
iOS 安装了证书,HTTPS 还是抓不到
android·网络协议·ios·小程序·https·uni-app·iphone
2501_916007477 小时前
iOS 自动化上架的工具组合,在多平台环境中实现稳定发布
android·运维·ios·小程序·uni-app·自动化·iphone
1024小神7 小时前
uniapp项目中使用vue3和小程序组件父子通信
前端·小程序·uni-app
fruge9 小时前
华玥组件库 · 为 uni-app 打造的新一代高效组件解决方案
uni-app
遗憾随她而去.1 天前
uniapp 折叠动画 <transition> 踩坑记录
css·uni-app
百锦再1 天前
Elements Plus 跨设备自适应显示问题综合解决方案
python·flutter·小程序·uni-app·k8s·tornado·net
坚持学习前端日记1 天前
UniApp APK打包与Android深度集成能力解析
android·vue.js·uni-app