TypeError:从Laravel验证收到错误时,无法读取未定义的属性“状态”

时间:2019-03-04 11:38:39

标签: laravel vue.js axios

我正在尝试使用Axios和vue通过AJAX验证表单。

axios.post('api/registro', this.sede)
.then(response => {

    this.$emit('cerrar')

})
.catch(err => {

    console.log(err)

})

错误来自catch部分,因为它来自Laravel验证程序。服务器的响应为422,其中包含带有消息的JSON和服务器正在发送的错误。

如果我不尝试记录错误,一切都很好。

2 个答案:

答案 0 :(得分:1)

您可以仅检查以下错误: if(err.response.data.errors){ this.errors = err.response.data.errors; } this.errors是一个数组,您可以使用v-for循环显示该数组

答案 1 :(得分:0)

问题出在我身上,是我在axios中使用拦截器,我没有正确返回拦截器中的错误,因此catch函数没有任何作用。

这就是我所拥有的:

axios.interceptors.response.use(null, function (error) {
    // some logic
  });

这应该是这样的:

axios.interceptors.response.use(null, function (error) {
    // some logic
    return Promise.reject(error);
  });

非常感谢您的帮助。