情景: 从swagger复制的接口地址,发送请求的时候报 404,肉眼没发现任何不对的地方,但请求地址URL中多了 %E2%80%8B 字符 ,导致404。

肉眼看起来并没有什么不同,但复制的接口地址,请求的时候,URL上会多出字符:

一、解决办法
有俩:
- 将你复制的接口地址手敲一遍
- 对请求的url进行过滤
replace(/%E2%80%8B/g,"");即在请求拦截器中,将config.url的 %E2%80%8B 替换掉即可。
二、唠嗑唠嗑
%E2%80%8B
- 这哥们有一个学术名,叫
Zero-width space,简称ZWSP,中文名 零宽空格;它是一种不可打印的Unicode字符,就是说一般情况肉眼看不见,但是当它变成URL的一部分,就会变成%E2%80%8E,使你的URL错误,请求的时候就会报 404. - 在HTML中的编码为:
​,在HTML页面中,零宽空格可以替代,一般用于可能需要换行的地方。 在标点之前为 URL 换行,以便避免将标点符号留在行尾,让读者将 URL 的末尾搞错。 之前没注意过,学习之路任重而道远啊。

从swagger复制的接口地址请求时报404,原因是URL中多了零宽空格字符。解决办法有两个,一是手敲接口地址,二是在请求拦截器中过滤该字符。零宽空格是不可打印的Unicode字符,在HTML中有特定编码和用途。

被折叠的 条评论
为什么被折叠?



