当前位置:   article > 正文

Uniapp 报错Uncaught URIError: URI malformed

Uniapp 报错Uncaught URIError: URI malformed

场景数据中有url,或者别的不规则的字符,就会报错

解决办法:

1、将复杂参替换

  1. //传复杂参替换
  2. encodeContent(key) {
  3. const encodeArr = [{
  4. code: '%',
  5. encode: '%25'
  6. }, {
  7. code: '?',
  8. encode: '%3F'
  9. }, {
  10. code: '#',
  11. encode: '%23'
  12. }, {
  13. code: '&',
  14. encode: '%26'
  15. }, {
  16. code: '=',
  17. encode: '%3D'
  18. }];
  19. return key.replace(/[%?#&=]/g, ($, index, str) => {
  20. for (const k of encodeArr) {
  21. if (k.code === $) {
  22. return k.encode;
  23. }
  24. }
  25. });
  26. },

2、对数据进行处理

  1. this.other = JSON.parse(decodeURIComponent(this.encodeContent(options.other)))
  2. this.others = JSON.parse(decodeURIComponent(this.encodeContent(options.others)))

注意:JSON.parse 根据自己的需求去增加,因为我这个是需要将字符转为数组

decodeURIComponent 是我跨页面传参用到的,如果在实际应用中,没有跨页面传参,可以去掉

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/507683
推荐阅读
相关标签
  

闽ICP备14008679号