Extender el éxito de jQuery ajax a nivel mundial

Estoy tratando de crear un controlador global que se llame antes de la devolución de llamada de éxito de ajax. Hago muchas llamadas ajax con mi aplicación, y si es un error, devuelvo una estructura específica, por lo que necesito ejecutar algo antes de que se ejecute el éxito para verificar los datos de respuesta para ver si contiene un bit de código de error como 1 / 0

Respuesta de muestra

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

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

No puedo encontrar una manera de hacer esto en jQuery fuera de la caja, analicé los prefiltros, ajaxSetup y otros métodos disponibles, pero no lo lograron, las apuestas que podría hacer es piratear el método ajax en sí un poco:

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

He estado usando esto por un tiempo y funciona bien, pero me preguntaba si hay una mejor manera de hacerlo, o algo que me perdí en los documentos de jQuery.

Respuestas a la pregunta(10)

Su respuesta a la pregunta