Extending jQuery ajax sucesso globalmente

Estou tentando criar um manipulador global que é chamado antes do retorno de chamada de sucesso do ajax. Faço muitas chamadas ajax com meu aplicativo e, se for um erro, retornarei uma estrutura específica. Preciso executar algo antes do sucesso para verificar os dados de resposta e verificar se ele contém um código de erro como 1 / 0

Resposta da amostra

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

o

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

Não consigo encontrar uma maneira de fazer isso no jQuery fora da caixa, olhei para pré-filtros, ajaxSetup e outros métodos disponíveis, mas eles não conseguem, as apostas que eu poderia fazer são invadir o método ajax um pouco:

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);
};

Estou usando isso há um tempo e funciona bem, mas estava pensando se há uma maneira melhor de fazê-lo ou algo que eu perdi nos documentos do jQuery.

questionAnswers(10)

yourAnswerToTheQuestion