Auf meiner Anwendung, wenn Benutzer einen Bericht anfordert, ein Jquery AJAX (mit .load()
) Aufruf an eine Datei, die eine Menge von Zahlenverarbeitung und mySQL-Anfragen. es dauert im Allgemeinen 5-6 Sekunden, um geladen zu werden, und .ajaxStart()
und .ajaxStop()
werden verwendet, um ein Lade-GIF während der Last anzuzeigen.Abgebrochen AJAX-Anfrage verlangsamt nachfolgende Navigation
Das Problem:
Wenn ein Benutzer klickt auf den ‚Bericht erstellen‘ klicken und dann ändert ihre Meinung und versucht, auf eine andere Seite der Anwendung hängt zu navigieren, und navigieren Sie nicht auf die neue Seite für 5-6 Sekunden. Ich kann anhand der Entfernung des Lade-GIF erkennen, dass .ajaxStop()
sofort ausgelöst wird, wenn versucht wird, zu einer neuen Seite zu navigieren, aber es scheint, dass die Ajax-Anfrage beendet wird, bevor der Browser die nächste Seite lädt.
Ist das normales Verhalten? Irgendwelche Vorschläge, wie das zu beheben/restrukturieren?
Ich dachte nur, ich würde kommentieren und Ihnen sagen, Sie sind nicht allein! Ich habe genau dieses Problem. Im Chrome-Inspektor und in Firebug hat der Browser die ausstehenden Netzwerkanforderungen, die mit AJAX gestellt wurden, abgebrochen und hat nur die "neue" Anforderung für die nächste Seite als "ausstehend". Dennoch scheint es noch für gut 5 bis 10 Sekunden zu hängen, bevor es sich tatsächlich dazu entscheidet, weg zu navigieren. –
Das gleiche gilt hier: Der Browser verzögert immer, bis die bestehende Ajax-Anfrage abgeschlossen ist. Auch wenn die Antwort nicht mehr benötigt wird. – CoreyOConnor
Verwenden Sie Bibliotheken, die OpenID-Anmeldeinformationen über eine domänenübergreifende Anforderung hinzufügen? – CoreyOConnor