Ausstehende Ajax-Anfragen mit jQuery abbrechen
Ist es möglich, eine Ajax-Anfrage abzubrechen, bevor ihre Antwort empfangen wird? Ja, jQuery bietet für diesen Zweck eine unkomplizierte Methode.
In den meisten Fällen geben die Ajax-Methoden von jQuery ein XMLHttpRequest-Objekt (oder ein gleichwertiges Objekt) zurück, das eine „abort()“-Methode bietet. Dadurch können Sie die Anfrage vorzeitig beenden.
Wie im Codeausschnitt gezeigt:
var xhr = $.ajax({ type: "POST", url: "some.php", data: "name=John&location=Boston", success: function(msg){ alert( "Data Saved: " + msg ); } }); //kill the request xhr.abort()
Auch mit den späteren jQuery-Versionen bleibt dieser Ansatz wirksam:
1. jQuery 1.5 und höher: Das zurückgegebene Objekt ist jetzt ein Wrapper für das native XMLHttpRequest-Objekt namens jqXHR, das weiterhin die Methode „abort()“ verfügbar macht.
2. jQuery 3 und höher: Die Ajax-Methode gibt ein Versprechen mit zusätzlichen Methoden zurück, einschließlich „abort()“, sodass der oben gezeigte Code weiterhin anwendbar ist.
Hinweis: Trotz anfänglicher Annahmen funktioniert „xhr.abort()“ weiterhin in jQuery 3.x. Weitere Informationen finden Sie im jQuery-Github-Repository.
Das obige ist der detaillierte Inhalt vonKann jQuery Ajax-Anfragen während des Flugs abbrechen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!