url中特殊字符转译

最近在通过url在传参时将参数进行转义,但是参数中一些特殊符号(如:“,&,' 等)被转义了,如下图展示:

 

 转义之后就造成在传递后台参数时将  “quot;”  参数传递过去了(理论上应该传递 “双引号”才对),造成接口查询不到数据。

下面对部分特殊符号尽心处理:

let specialList = [
      {mark:'"', trans: '"'},
      {mark:'&lt;', trans: '<'},
      {mark:'&gt;', trans: '>'},
      {mark:'&amp;', trans: '&'},
      {mark:'&apos;', trans: '\''},
      {mark:'&copy;', trans: '©'},
      {mark:'&reg;', trans: '®'}
    ]

    transName = (value)=>{
      for (const item of specialList) {
        if (value.indexOf(item.mark) != -1) {
          reg = new RegExp(item.mark,"g");
          value = value.replace(reg, item.trans)
        }
      }
      return value
    }

    let urlParams = routeProvider.getUrlParams();
    $scope.fileName = transName(urlParams.name)

 

posted @ 2022-11-04 17:32  帝沐  阅读(772)  评论(0编辑  收藏  举报