在复制后端接口文档的时候,调用时直接报404错误,查看请求的时候,发现有特殊字符 E2%80%8B 出现,经排查url,发现其中有特殊字符,且肉眼无法识别,具体表现:鼠标光标在慢慢向后移动时,会在特殊字符那里停顿一下。
通过页面源码可以看到它就是这个字符叫做Zero Width Space,中文称为零宽空白、零宽度空白字符(十六进制:,十进制:)。就是不占用任何宽度的空白字符。在主流文本编辑器包括词本中均没有任何显示效果,但复制拷贝会带上零宽空白。不过不可见也不可打印。
解决办法:
1、找到特殊字符的位置,直接删除;
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)
}
)