axios 0.19.x不发起请求的问题解决姿势

4,084 阅读1分钟

前言

使用axios遇到的一个问题,就是拦截器可以打印出 config ,但是不发起请求。

控制台也不报错,编译终端也不报错,很迷。

问题

常规请求没有东西

image.png

image.png

中规中矩的请求封装

image.png

排除问题

排除问题,真的浪费很多时间,因为没有任何异常。那就只能逐行排查了

版本问题?

因为升级到了最新的axios 0.19 ,我尝试降级了下不行,那么问题不在这里,试试谷歌大法。

谷歌大法

axios 的 issue   , stackoverflow  都TM没有说为什么不能发起链接的。

直接引入axios请求调用!

这个姿势是可行的,那问题就必然出现在封装里面了

排除拦截封装

逐行分析后,没什么问题。那就把拦截器全部注释了,只保留新实例的声明,果然找到了问题。

Failed to execute 'setRequestHeader' on 'XMLHttpRequest': Value is not a valid ByteString

意思就是请求头的 headers 的值不是一个有效的字符串!!!

有点迷,我感觉找到问题所在了,看到我引入的 commonHeader

image.png

把里面的中文全部改成英文,就可以了。

总结

请求头的 value ,不允许直接写入中文,实在要写需要编码过后。

默认只支持字母和数字和小数点这些