Я создаю утилиту ajax для взаимодействия с моими методами сервера. Я хотел бы использовать jQuery 1.5+ отложенные методы из объекта, возвращенного из вызова jQuery.ajax(). Ситуация следующая.
-
Метод serveride всегда возвращает объект JSON:
{ success: true|false, data: ... }
-
Клиентская утилита инициирует вызов ajax, подобный этому
var jqxhr = $.ajax({ ... });
-
И проблемная область:
jqxhr.success(function(data, textStatus, xhr) { if(!data || !data.success) { ???? // abort processing, trigger error } }); return jqxhr; // return to caller so he can attach his own handlers
Итак, вопрос заключается в том, как отменить вызов всех вызываемых вызовов, вызванных успешными обратными вызовами, вызвать его обработчик ошибок в месте, указанном в ????
?
В документации говорится, что списки вызовов отложенных функций являются FIFO, поэтому мой обработчик успеха определенно является первым.