发生错误 400(错误请求)时,使用 Axios 从 POST 中捕获返回 json

And*_*nes 8 json reactjs react-native react-redux

我正在使用带有 Axios 的 React Native 在 api 中发出 http 请求,我可以在回调为 200 时获取 json 并解析它,但是,例如,当我调用一个方法时,例如,注册用户并发送电子邮件从已经注册的用户那里,他向我返回了一个错误 400(错误请求),但他也带来了一个带有错误消息的 json(“用户已经注册”)。我需要收到此错误消息,因为它在 API 中是可变的并显示给用户,但是当我尝试给它一个 console.log 时,我收到以下错误:

在此处输入图片说明

json 的返回是这样的:

在此处输入图片说明

我的调用代码如下所示:

在此处输入图片说明

即使在catch中返回400,如何获得这个json?

谢谢你。

Bru*_*ino 22

在您的catchBlock内部,该error对象还为您提供了一个响应正文

//... your request here
.catch(error => {
  console.log('response: ', error.response.data);
});
Run Code Online (Sandbox Code Playgroud)

console.log(error)正在调用toString不向您显示响应正文的错误对象的方法。

error.response.data应该给你正确的内容。看看axios 文档的这一部分