使用axios遇到的一个问题,就是拦截器可以打印出 config
,但是不发起请求。
控制台也不报错,编译终端也不报错,很迷。
排除问题,真的浪费很多时间,因为没有任何异常。那就只能逐行排查了
因为升级到了最新的axios 0.19 ,我尝试降级了下不行,那么问题不在这里,试试谷歌大法。
axios 的 issue
, stackoverflow
都TM没有说为什么不能发起链接的。
这个姿势是可行的,那问题就必然出现在封装里面了
逐行分析后,没什么问题。那就把拦截器全部注释了,只保留新实例的声明,果然找到了问题。
Failed to execute 'setRequestHeader' on 'XMLHttpRequest': Value is not a valid ByteString
意思就是请求头的 headers
的值不是一个有效的字符串!!!
有点迷,我感觉找到问题所在了,看到我引入的 commonHeader
把里面的中文全部改成英文,就可以了。
请求头的 value
,不允许直接写入中文,实在要写需要编码过后。
默认只支持字母和数字和小数点这些