替换URL中的特殊字符(%E2%80%8B)

2023-06-05  本文已影响0人  侯工

一、场景:

在复制后端接口文档的时候,调用时直接报404错误,查看请求的时候,发现有特殊字符出现,

经排查url,发现其中有特殊字符,且肉眼无法识别。

具体表现:鼠标光标在慢慢向后移动时,会在特殊字符那里停顿一下;

错误示例:/api/menu/goodsList/

二、 %E2%80%8B

1、英文名: Zero-width-space
2、中文名: 零宽空格
3、Unicode

三、解决办法:

1、delete
找到特殊字符的位置,直接删除;

2、将 特殊字符 替换 为 ‘’

// 请求拦截器
axios.interceptors.request.use(
  config => {
    // 先把config.url进行URI编码,然后全局替换其中的特殊字符,然后再URI解码
    config.url = decodeURI(encodeURI(config.url).replace(/%E2%80%8B/g, ''))
    return config
  },
  error => {
    console.log(error)
    return Promise.reject(error)
  }
)
上一篇 下一篇

猜你喜欢

热点阅读