Возможно, я не совсем в курсе, но мне было интересно, можно ли использовать функциональность JQuery prefilter и анализировать данные ответов в 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 call:
$.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
}
});
Большое спасибо!