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 小时前
2025 Vibe Coding 有感
前端·uni-app·trae
一颗小青松3 小时前
uniapp使用uni-im
uni-app
2501_916007476 小时前
iPhone APP 性能测试怎么做,除了Instruments还有什么工具?
android·ios·小程序·https·uni-app·iphone·webview
2501_915106326 小时前
Windows 环境下有哪些可用的 iOS 上架工具, iOS 上架工具的使用方式
android·ios·小程序·https·uni-app·iphone·webview
一颗小青松9 小时前
uniapp vue3中app端使用腾讯云点播上传
uni-app·云计算·腾讯云
玄尺_00710 小时前
uniapp h5端使浏览器弹出下载框
前端·javascript·uni-app
2501_9151063211 小时前
iOS 抓包工具有哪些?不同类型的抓包工具可以做什么
android·ios·小程序·https·uni-app·iphone·webview
web前端神器21 小时前
vue、uniapp项目循环中能显示每个列表的内容,但是点击的时候传递的参数却不正确
uni-app
ModyQyW21 小时前
HBuilderX 4.87 无法正常读取 macOS 环境配置的解决方案
前端·uni-app
脾气有点小暴1 天前
Uni-app App 端自定义导航栏完整实现指南
uni-app