Используйте предварительный фильтр JQuery AJAX для проверки данных ответа и условной пересылки в обработчик события «Ошибка»

Я могу сбиться с курса, но мне было интересно, неужели « Можно использовать функцию предварительного фильтра 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
                } 
 });

Большое спасибо!

6
задан icats 30 March 2011 в 18:33
поделиться