vue axios 网络状态status=401的时候,接收服务器返回的数据
问题描述:
后端使用restfull接口规范,这样就会有400,401,404等这样得状态码返回给前端,导致前端无法获取到服务器的数据了。
原因:
axios 默认抛弃了 网络状态不在 [200, 300) 区间的服务器返回
解决:
修改axios的库文件,增加允许返回的判断
方案如下
库文件所在位置:node_modules/axios/lib/core/settle.js
第16行 原代码注释:
if (!response.status || !validateStatus ||validateStatus(response.status)){
增加如下代码
if (!response.status || !validateStatus || (validateStatus(response.status) || response.status === 401)){