AJAX steht für „Asynchronous Javascript And XML“ und bezeichnet eine Webentwicklungstechnologie zur Erstellung interaktiver Webanwendungen. Als nächstes stellt Ihnen dieser Artikel das Ajax-Cache-Problem und die Lösung unter IE8 vor. Schauen wir uns das gemeinsam an
Einführung in Ajax
AJAX ist „Asynchron“. „Javascript und XML“ (asynchrones JavaScript und XML) bezieht sich auf eine Webentwicklungstechnologie zum Erstellen interaktiver Webanwendungen.
AJAX = Asynchrones JavaScript und XML (eine Teilmenge der Standard Generalized Markup Language).
AJAX ist eine Technologie zur Erstellung schneller, dynamischer Webseiten.
AJAX ermöglicht die asynchrone Aktualisierung von Webseiten durch den Austausch einer kleinen Datenmenge mit dem Server im Hintergrund. Das bedeutet, dass Teile einer Webseite aktualisiert werden können, ohne dass die gesamte Seite neu geladen werden muss.
Der folgende Code funktioniert in anderen Browsern einwandfrei, in IE8 treten jedoch seltsame Probleme auf.
$.ajax({ url:dataUrl, data:encodeURI(currentjsonform), dataType:'JSON', success:function(item){ debugger; .... } });
Nach sorgfältiger Untersuchung stellte sich heraus, dass es sich um ein Ajax-Cache-Problem im IE8 handelte. Verdammt, wenn die Ausführung diesen Punkt erreicht, greift sie tatsächlich nicht auf unseren Hintergrundcode zu, sondern verwendet die zuvor zwischengespeicherten Ergebnisse. Beim Debuggen im Hintergrund erfolgt keine Antwort, und ich habe herausgefunden, dass dies das Problem ist! ! ! ! IE8 ist bereit zu fallen.
Aber das Seltsame ist, dass es an vielen Stellen solche Codes gibt. Warum werden sie nur hier zwischengespeichert und nicht an anderen Stellen?
Lösung:
1.
$.ajaxSetup({ cache: false });
2. Parameter plus Attribute: Cache: false
$.ajax({ url:dataUrl, data:encodeURI(currentjsonform), dataType:'JSON', cache:false, success:function(item){ debugger; .... } });
3. Sie können es auch nach der URL hinzufügen Zeitstempel und andere Methoden.
Lektion:
Programmierer sollten wirklich: Beim Überqueren der Straße in beide Richtungen schauen!
Vertrauen Sie den Standardwerten nicht zu sehr. Geben Sie unbedingt an, welche Attribute benötigt werden. Daher ist es am besten, jedes Mal Folgendes anzugeben: cache:false, sonst wird garantiert, dass jede js-Seite zu Beginn einmal ausgeführt wird:
$.ajaxSetup({ cache: false });
Tatsächlich Der Pfad hat einen Zeitstempel. Oder die Zufallszahlenmethode ist manchmal unzuverlässig! Möglicherweise ignoriert der Browser es. Wie auch immer, IE8 ist auf die Situation gestoßen, dass die URL mit Zeitstempel viele Male fehlschlägt.
Ich habe das Obige für Sie zusammengestellt und hoffe, dass es Ihnen in Zukunft hilfreich sein wird.
Verwandte Artikel:
Ajax-Caching-Problem unter IE8/IE9
IE8 kann nicht jedes Mal mit Ajax-Zugriff aktualisiert werden Problem
Schnelle Lösung für die Ajax-Übermittlung von verstümmeltem Code unter IE
Das obige ist der detaillierte Inhalt vonAjax-Caching-Probleme und Lösungen unter IE8. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!