我正在尝试使用Axios和vue通过AJAX验证表单。
axios.post('api/registro', this.sede)
.then(response => {
this.$emit('cerrar')
})
.catch(err => {
console.log(err)
})
错误来自catch部分,因为它来自Laravel验证程序。服务器的响应为422,其中包含带有消息的JSON和服务器正在发送的错误。
如果我不尝试记录错误,一切都很好。
答案 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);
});
非常感谢您的帮助。