【问题标题】:Axios post request get body from catch?Axios 发布请求从捕获中获取正文?
【发布时间】:2019-04-27 09:34:32
【问题描述】:

我有 api 的发布请求:

axios.post('https://api.myapp.com:8000', formData).then(function (response) {
}).catch(function (error) {
    console.log(error)
})

我在这里得到“xhr”类型的响应。在控制台中我只看到:

Error: Request failed with status code 422
    at createError (createError.js?2d83:16)
    at settle (settle.js?467f:18)
    at XMLHttpRequest.handleLoad (xhr.js?b50d:77)

我想做类似error.data 的操作,将内容推送到我的提醒栏中。

我尝试的是: error.responseType, error.response, error.responseBody, error.status,对于每个这样的调用,我都会得到简单的未定义。在控制台的网络下,我看到了所需的内容。

如何从此类响应中获取内容?

【问题讨论】:

  • 您好,您能否在 jfiddle 上重现错误,并在此处发布链接,我们可以帮助您解决它
  • 不,因为我的 api 后端仍然只是本地的。
  • 你仍然可以继续创建小提琴,这里唯一的问题是我们总是会得到一个 '404' not found 错误。这很好,因为我们实际上对检索错误的数据部分感兴趣。

标签: vue.js vuejs2 vue-component


【解决方案1】:

我找到了这个解决方案,它对我有用:

axios.post('https://api.myapp.com:8000', formData).then(response => {
      console.log(response)
}).catch(error => {
      console.log(error.response)
})

【讨论】:

    【解决方案2】:

    更改你的 catch 语句,如下所示。我希望它会起作用。

    .catch (error) {
      console.log(error);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-21
      • 1970-01-01
      • 1970-01-01
      • 2021-11-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多