我正在使用Larvel 5.3和VueJS @ 2以及Axios来向服务器发送ajax请求。
我的问题是我无法获得laravel表单验证错误。 调试时我发现firebug控制台显示422(Unprocessable Entity)错误,这是自然的,因为服务器没有得到预期的值。但是,我需要获取那些验证错误并在我的表单中显示。
这是我的VueJS Part
new Vue({
el: '#blogWrap',
data: {
formInputs: {},
formErrors: {}
},
methods: {
onSubmit: function () {
var csrfToken = document.querySelector('input[name="_token"]').value;
console.log(this.formInputs);
axios.post("/createpost", this.formInputs, {
headers: {'X-CSRF-TOKEN': csrfToken }
})
.then(function (response) {
console.log(response);
})
.catch(function (data, status, request) {
console.log(data);
this.formErrors = data.data;
});
}
}
})
我接下来的链接但无法解决422错误。 http://taha-sh.com/blog/setting-up-ajax-validation-with-laravel-vuejs-in-no-time
答案 0 :(得分:0)
函数然后需要2个回调,第一个是成功(http状态200),第二个是任何其他http状态。
this.$http.post('url',data)
.then(success => {
// no errors
}, error => {
// error
if(error.code == 422){
console.log(error.data)
}
})