Wie gehe ich mit einem bestimmten HTTP-Fehler für alle AJAX-Aufrufe um?

Ich habe eine Web-App, die Daten über AJAX anfordert und sendet. Als Antwort sendet meine Serverseite je nach Situation HTTP-Statuscodes. Wenn sich ein Benutzer beispielsweise anmeldet, während er angemeldet ist, gebe ich wahrscheinlich a zurück400 HTTP status code. Und irgendwann erledige ich das mit einem Alarm usw.

Der Umgang mit diesen HTTP-Statuscodes wird jedoch zu schwer, da ich AJAX stark nutze. Das bedeutet, dass ich den HTTP-Statuscode bei jeder AJAX-Anforderung wiederholt behandeln werde, was zu einem doppelten Code führt, und das ist eine schlechte Praxis.

So,was ich suche ist ein Weg, um all diese Fehler an einem Ort zu behandeln, also behandle ich einfach alle400, 401usw. mit dem gleichen Code.

Was ich gerade mache:

Manuelles Behandeln der Fehler für jeden AJAX-Aufruf. Mit demstatusCode im$.ajax().

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

Es scheint ein Overkill für mich zu sein, während sich meine Web-App entwickelt und ich mehr Ajax-Anrufe erstelle. Ich werde diesen Code immer wieder wiederholen.

Derzeit habe ich nur die Idee, eine Funktion zu erstellen, die auf AJAX aufbaut.

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

Antworten auf die Frage(1)

Ihre Antwort auf die Frage