发生错误 400(错误请求)时,使用 Axios 从 POST 捕获返回 json
Posted
技术标签:
【中文标题】发生错误 400(错误请求)时,使用 Axios 从 POST 捕获返回 json【英文标题】:Catch return json from POST with Axios when error 400 (Bad Request) occurs 【发布时间】:2019-12-03 15:35:56 【问题描述】:我正在使用带有 Axios 的 React Native 在 api 中发出 http 请求,我可以在回调为 200 时获取 json 并解析它,但是,例如,当我调用一个方法时,例如注册用户和从已经注册的用户那里收到一封电子邮件,他给我返回了一个错误 400(错误请求),但他也带来了一个带有错误消息的 json(“用户已经注册”)。我需要收到此错误消息,因为它在 API 中是可变的并显示给用户,但是当我尝试给它一个 console.log 时,我收到以下错误:
json 的返回是这样的:
我的调用代码如下所示:
即使在 catch 中返回 400,如何获取这个 json?
谢谢。
【问题讨论】:
【参考方案1】:在您的 catch
块内,error
对象还为您提供响应正文
//... your request here
.catch(error =>
console.log('response: ', error.response.data);
);
console.log(error)
正在调用错误对象的 toString
方法,该方法不会向您显示响应正文。
error.response.data
应该为您提供正确的内容。看看this part of the axios docs
【讨论】:
以上是关于发生错误 400(错误请求)时,使用 Axios 从 POST 捕获返回 json的主要内容,如果未能解决你的问题,请参考以下文章
在 Express.js 上使用 Axios 向 Spotify API 发出 POST 请求时出现错误 400
Gitlab使用Axios或Curl请求发布/放入节点 - 无法写入资源 - 400错误
axios.post 显示错误“请求失败,状态码为 400”,但邮递员发布了相同的数据