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

9

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

enter image description here

json的返回值是这个:

enter image description here

我的调用代码如下:

enter image description here

如何在捕获返回400的情况下获取此JSON数据?
谢谢。
1个回答

26

在您的catch块中,error对象还为您提供了响应主体。

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

console.log(error) 调用错误对象的 toString 方法,但这并不能显示响应体。

error.response.data 应该可以给你正确的内容。查看 axios 文档中的这个部分


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接