Como lidar com erro HTTP específico para todas as chamadas AJAX?

Eu tenho um aplicativo da web, solicitando e enviando dados via AJAX, e como resposta, meu servidor envia códigos de status HTTP, dependendo da situação. Assim, por exemplo, se um usuário tenta fazer o login enquanto ele está logado eu provavelmente devolver um400 HTTP status code. E eventualmente eu ligo com um alerta, etc.

Mas lidar com esses códigos de status HTTP fica muito pesado, já que estou usando muito o AJAX. Isso significa que vou lidar com o código de status HTTP repetidamente com cada solicitação AJAX, o que resultará em código duplicado, e isso é uma prática ruim.

Assim,O que estou olhando é uma maneira de lidar com todos esses erros em um só lugar, então eu apenas manejo tudo400, 401, etc com o mesmo código.

O que estou fazendo atualmente:

Manipulando os erros manualmente para cada chamada AJAX. Usando ostatusCode em$.ajax().

  statusCode: {
        500: function(data) {
            alert('Some friendly error message goes here.');
        }

Parece um exagero para mim, conforme meu aplicativo da web se desenvolve, e ao criar mais chamadas ajax. Vou repetir este pedaço de código de novo e de novo.

Atualmente, a única ideia que tenho em mente é criar uma função que funcione em cima do AJAX, algo como:

    function doAjax(type,url, data, moreVars) {
//this function is just a SIMPLE example, could be more complex and flexible.
        $.ajax({
            type: type,
            url: url,
            data: data,
            moreOptions:moreVars,
            //now handling all status code.
            statusCode: {
                //handle all HTTP errors from one place.
            }
        });
    }

    doAjax("POST", 'mydomain.com/login.php', dataObj);

questionAnswers(1)

yourAnswerToTheQuestion