4 Stimmen

Verhindern, dass .ajaxError aufgerufen wird, wenn es an anderer Stelle behandelt wird

Ich habe eine globale $(document).ajaxError Handler, der sich um die meisten Fehler kümmert, nur für den Fall, dass ein unerwarteter 500-Fehler oder ähnliches auftritt. Allerdings gibt es Zeiten, wenn ich Fehler lokal in einem Skript zu fangen und dann verhindern, dass globale Fehler-Handler aufgerufen werden möchten. Gibt es eine Möglichkeit, dies zu tun, wie Sie mit einem event.stopPropagation() würde?

Beispiel

$.get('/something/', function() {
    alert("Stuff went well.");
}).error(function(response)) {
    if (response.status == 404) {
        alert('Page not found');
        // Do something to stop global ajaxError from being called.
    }
});

11voto

N Rohler Punkte 4527

Sie müssen die global: false Parameter für $.ajax wie diese:

$.ajax({
    url: '/something/',
    global: false,
    success: function() {
       alert('Success');
    }
}).error(function(response)) {
    if (response.status == 404) {
        alert('Page not found');
    }
});

Referenz: Ajax-Ereignisse , jQuery.get

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X