首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用axioson 400和401状态代码检索响应错误

问使用axioson 400和401状态代码检索响应错误
EN

Stack Overflow用户
提问于 2020-11-20 20:33:56
回答 1查看 743关注 0票数 1

我试图使用axios进行身份验证,但是当错误为400或401时,在丢失或错误的电子邮件和密码的情况下,我无法从API获得响应消息,控制台记录axios错误只显示如下:

错误=>错误:请求失败,状态代码400位于createError (1.chunk.js:104463) at 1.chunk.js:104697 (1.chunk.js:104697) at XMLHttpRequest.handleLoad (1.chunk.js:103940)

不知道如何得到正确的响应,即:{“错误”:{“消息”:“请提供电子邮件和密码”}}。

这是我的密码

代码语言:javascript
复制
(...)

axios.post('some api for authentication',
        {
            email: formData.email,
            password: formData.password,
            remember: formData.remember
        })
        .then(response => {
          token = response.data.session.user
          console.log('response =>', token)
        })
        .catch((error) => {
          token = null
          console.log('error =>', error)
        })

(...)

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-20 21:25:16

对于每个axios 处理错误,底层错误数据(如message )应该在error.response.data上可用。

代码语言:javascript
复制
.catch((error) => {
  token = null
  console.log('error =>', error.response.data)
});

您可能希望使用该示例并处理可能发生的不同类型的错误:

代码语言:javascript
复制
.catch(function (error) {
  if (error.response) {
    // The request was made and the server responded with a status code
    // that falls out of the range of 2xx
    console.log(error.response.data);
    console.log(error.response.status);
    console.log(error.response.headers);
  } else if (error.request) {
    // The request was made but no response was received
    // `error.request` is an instance of XMLHttpRequest in the browser and an instance of
    // http.ClientRequest in node.js
    console.log(error.request);
  } else {
    // Something happened in setting up the request that triggered an Error
    console.log('Error', error.message);
  }
    console.log(error.config);
});

希望这能帮上忙!

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64936523

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档