我提交表单调用$.ajax()与php。下面是我的$.ajax函数,当它成功时,它可以完美地工作。当我想显示错误时,循环所有responseText会有一些麻烦。请参阅我的$.ajax()代码:
$.ajax({
// ... ,
error: function(errors){
$.each(errors, function(index, error){
info.hide().find('ul').append('<li>'+error+'</li>');
});
info.slideDown();
}
});我捕获了所有的错误,但困惑的是,如何只渲染错误可以在screen http://prntscr.com/7nt3lq中看到输出。我只想呈现这些错误字段:{“name”:“name字段是必需的。”,“fname”:“fname字段是必需的。”},如果我写成:
error: function(errors){
console.log(errors);
}那么屏幕上的输出就是http://prntscr.com/7nt9tv。如何删除异常错误: 422 (无法处理的实体)并通过循环仅获取responseText?
发布于 2015-07-02 13:40:51
问题是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();
}
}
});https://stackoverflow.com/questions/31176309
复制相似问题