【问题标题】:Catch return json from POST with Axios when error 400 (Bad Request) occurs发生错误 400(错误请求)时,使用 Axios 从 POST 捕获返回 json
【发布时间】:2019-12-03 15:35:56
【问题描述】:

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

json 的返回是这样的:

我的调用代码如下所示:

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

谢谢。

【问题讨论】:

    标签: json reactjs react-native react-redux


    【解决方案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

    【讨论】:

      猜你喜欢
      • 2018-04-19
      • 2017-11-27
      • 1970-01-01
      • 2015-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-19
      • 1970-01-01
      相关资源
      最近更新 更多