场景:数据中有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 是我跨页面传参用到的,如果在实际应用中,没有跨页面传参,可以去掉
跨页面传参在下一篇文章中