Расширение JQuery AJAX успеха во всем мире

Я пытаюсь создать глобальный обработчик, который вызывается до обратного вызова ajax success. Я делаю много вызовов ajax с моим приложением, и если это ошибка, я возвращаю определенную структуру, поэтому мне нужно что-то запустить до успешного выполнения, чтобы проверить данные ответа, чтобы увидеть, содержит ли он бит кода ошибки, например 1 / 0

Образец ответа

{"code": "0", "message": "your code is broken"}

или же

{"code": "1", "data": "return some data"}

Я не могу найти способ сделать это в jQuery из коробки, посмотрел на prefilters, ajaxSetup и другие доступные методы, но они не совсем справляются, ставки, которые я могу придумать, это взлом самого метода ajax немного:

var oFn = $.ajax;

$.ajax = function(options, a, b, c)
{
    if(options.success)
    {
        var oFn2 = options.success;

        options.success = function(response)
        {
            //check the response code and do some processing
            ajaxPostProcess(response);

            //if no error run the success function otherwise don't bother
            if(response.code > 0) oFn2(response);
        }
    }

    oFn(options, a, b, c);
};

Я использовал это некоторое время, и он прекрасно работает, но мне было интересно, есть ли лучший способ сделать это, или что-то, что я пропустил в документах jQuery.

Ответы на вопрос(5)

Ваш ответ на вопрос