Я могу сбиться с курса, но мне было интересно, неужели « Можно использовать функцию предварительного фильтра JQuery и анализировать данные ответа в Ajax Success и условно перенаправлять обработчику событий error
в мои вызовы ajax
на основе наличие определенных элементов в моем возвращенном JSON (сообщения об ошибках).
Было бы хорошо, если бы это было глобально установлено для любой функции ajax на странице.
Возможно, это не лучший способ сделать это; если у кого-то есть альтернативная идея, дайте мне знать!
Предварительный фильтр:
//only run prefilter on ajax calls expecting JSON back in response, would this
//be the right way to do this?
$.ajaxPrefilter( "json", function( options, originalOptions, jqXHR ) {
jqXHR.success(function(data, textStatus, jXHR) {
if( hasErrors(data) ) {
//forward to error event handler?
}
});
});
Вызов Ajax:
$.ajax({
type: "POST",
data: {
theData: "someData"
},
url: theUrl,
dataType: 'json',
cache: false,
success: function (data, textStatus, jqXHR) {
//do stuff on success
}
error: function ( jqXHR, textStatus, errorThrown ) {
//I want to do this stuff if data contains errors from server
}
});
Большое спасибо!