javascript - 未捕获( promise )TypeError : Cannot set property 'status'

标签 javascript json ajax vue.js axios

嘿,我在尝试使用 Axios 和 VueJS 来确认从服务器收到的响应时遇到了一些问题

axios.post('/login', {
  email: this.email,
  password: this.password
}).then(response => {
  if (response.status == 200) {
    $root.$data.auth = true;
  } else {
    alert('uhhhh');
  }
}).catch(e => {
  if (e.response.status == 422) {
    this.error = "You made that login right?  How could you habve forgotten it!";
  } else {
    this.error = "Something else happened and this is what: " + e.response.status;
  }
});

成功登录后,我会在控制台中看到以下内容:

未捕获( promise 中)类型错误:无法设置未定义的属性“状态”

这似乎令人困惑,因为 Axios 文档指出我可以提取 response.status 对象并从中运行条件逻辑?

最佳答案

无论如何你都不应该检查响应状态,因为如果不是 200(OK),代码将执行下一个回调,即 .catch(),在这里你可以处理错误。

关于javascript - 未捕获( promise )TypeError : Cannot set property 'status' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47500649/

相关文章:

javascript - 如何使用 jQuery 异步上传文件?

javascript - 练习 Javascript 的最佳环境

javascript - 测试适用于 jasmine-node,但不适用于 jasmine

json - 什么是用于 Eclipse 的 Scala 2.8.1 JSON 序列化的好库

javascript - 如何删除 JSON 数组父级并保留子级 json 数组

javascript - 对输入使用自定义包装器 : pros and cons?

java - Jersey Jackson JSON 和 Eclipselink JPA - 如何在没有 @JsonIgnore 的情况下动态忽略拥有实体的 JSON 属性?

PHP:对 XML 的 AJAX 请求

使用 CORS 重定向的 Ajax 请求在 IE11 中失败

javascript - 创建类似小部件的 ajax 页面部分的最佳方法?