记一个神k,请求地址中加了一堆字符(%E2%80%8B)

258 阅读1分钟

情景: 从swagger复制的接口地址,发送请求的时候报 404,肉眼没发现任何不对的地方,但请求地址URL中多了 %E2%80%8B 字符 ,导致404。 在这里插入图片描述 肉眼看起来并没有什么不同,但复制的接口地址,请求的时候,URL上会多出字符: 在这里插入图片描述

一、解决办法

有俩:

  1. 将你复制的接口地址手敲一遍
  2. 对请求的url进行过滤 replace(/%E2%80%8B/g,"");即在请求拦截器中,将config.url的 %E2%80%8B 替换掉即可。

二、唠嗑唠嗑

%E2%80%8B   
  1. 这哥们有一个学术名,叫 Zero-width space,简称 ZWSP,中文名 零宽空格;它是一种不可打印的Unicode字符,就是说一般情况 肉眼看不见 ,但是当它变成URL的一部分,就会变成 %E2%80%8E ,使你的URL错误,请求的时候就会报 404.
  2. 在HTML中的编码为:​ ,在HTML页面中,零宽空格可以替代,一般用于可能需要换行的地方。 在标点之前为 URL 换行,以便避免将标点符号留在行尾,让读者将 URL 的末尾搞错。 之前没注意过,学习之路任重而道远啊。

参考:维基百科MDN