我提交表格用PHP调用$ .ajax()。这是我的$ .ajax函数,它在成功时非常有效。当我想显示错误时,循环所有responseText会有一些麻烦。看我的$ .ajax()代码:
$.ajax({
// ... ,
error: function(errors){
$.each(errors, function(index, error){
info.hide().find('ul').append('<li>'+error+'</li>');
});
info.slideDown();
}
});
我捕获所有错误,但是混乱,如何只渲染错误在屏幕http://prntscr.com/7nt3lq中看到我的输出。 我想只渲染这些错误字段:{“name”:[“名称字段是必需的。”],“fname”:[“fname字段是必需的。”]},如果我把它写成:
error: function(errors){
console.log(errors);
}
然后屏幕输出为http://prntscr.com/7nt9tv。如何删除异常错误:422(不可处理的实体)并且只获得带有循环的responseText?
答案 0 :(得分:1)
问题是error
回调的第一个参数不是respose
数据,而是jqXHR
对象。
$.ajax({
url: '/echo/asdf',
// ... ,
error: function (jqxhr) {
if (jqxhr.status = 422) {
var errors = JSON.parse(jqxhr.responseText);
$.each(errors, function (index, error) {
info.hide().find('ul').append('<li>' + error + '</li>');
});
info.slideDown();
}
}
});