【发布时间】:2017-12-02 01:05:06
【问题描述】:
我的 react 应用程序中有一个 axios 请求,为此我正在关注 axios npm docs.
这是我的 axios 请求
axios.post(helper.getLoginApi(), data)
.then((response) => {
console.log(response);
this.props.history.push(from.pathname)
})
.catch((error)=> {
console.log(error);
})
我能够成功记录成功请求的数据。但是,当我故意产生错误并尝试对其进行 console.log 时,我没有得到记录的结果,而是看到了
POST http://localhost:3000/login 401(未经授权) :3000/登录:1
错误:请求失败,状态码为 401 login.js:66在 createError (createError.js:16)
安顿下来 (settle.js:18)
在 XMLHttpRequest.handleLoad (xhr.js:77)
但是,当我转到 Chrome 控制台中的网络选项卡时,我可以看到以下响应返回。
提前感谢您的帮助。
【问题讨论】:
-
您是否尝试过将您的 axios 包装到
try {} catch(e) {}语句中?你试过检查then里面的response.status吗?只是一些想法 - 我不知道为什么它不起作用 -
@lumio,正如我所说,在 .then 中,我能够成功登录
response.data但不能登录.catch块 -
即使我自己使用 axios,我也不确定当状态不是
2xx时 axios 是否总是失败。当response.status不是 200 时,您是否尝试在then中抛出错误? -
我没有尝试过,一旦我尝试了@ShubhamKhatri 发布的答案并且如果它不起作用,我会这样做
标签: node.js reactjs error-handling axios