Heim  >  Artikel  >  Web-Frontend  >  Eine kurze Diskussion über den Caching-Mechanismus des Ajax---IE-Browsers

Eine kurze Diskussion über den Caching-Mechanismus des Ajax---IE-Browsers

青灯夜游
青灯夜游nach vorne
2018-10-17 18:02:131754Durchsuche

In diesem Artikel wird hauptsächlich der Ajax-Caching-Mechanismus des IE-Browsers vorgestellt. Der Artikel erwähnt, dass Ajax das Caching-Problem des Browsers löst. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird Ihnen hilfreich sein.

Der IE-Browser gibt nur für dieselbe URL das gleiche Ergebnis zurück. Denn standardmäßig speichert der IE die Ergebnisse der Ajax-Anfrage zwischen. Für dieselbe URL-Adresse wird nur die erste Anfrage tatsächlich an den Server gesendet, bevor der Cache abläuft. In den meisten Fällen verwenden wir Ajax, um eine teilweise Aktualisierung zu erreichen, daher handelt es sich hierbei um ein Verbesserungsproblem.

Wenn wir jedes Mal die neuesten Daten erhalten möchten, müssen wir nur sicherstellen, dass die übergebene URL jedes Mal unterschiedlich ist. Der einfachste Weg besteht darin, Parameter in die URL einzubinden. Verwenden Sie die Methode random() der Mathematikfunktion, um Zufallszahlen zu generieren.

Wenn wir beispielsweise Baidu www.baidu.com besuchen, können wir die Adresse als www.baidu.com?t=Math.random( oder?t=new Date().getTime()) schreiben. ;

Vor diesem Hintergrund können Sie sich auch die grundlegende Verwendung von Ajax noch einmal ansehen.

*Ajax erstelltes Objekt:  

 var xmlhttp;
 if (window.XMLHttpRequest){
  //IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp = new XMLHttpRequest();
  } else{
  //IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }

*Ajax-Anfrage:

//GET请求:
xmlhttp.open("GET","test1.txt",true);
xmlhttp.send();
//POST请求:
xmlhttp.open("POST","demo_post.asp",true);
xmlhttp.send();

GET oder POST?

Im Vergleich zu POST ist GET einfacher und schneller und funktioniert in den meisten Fällen.

Verwenden Sie POST-Anfragen jedoch in den folgenden Situationen:

Cache-Dateien können nicht verwendet werden (Aktualisieren von Dateien oder Datenbanken auf dem Server)
Senden einer großen Datenmenge an den Server (POST hat keine Einschränkungen hinsichtlich der Datenmenge)
POST ist stabiler und zuverlässiger als GET, wenn Benutzereingaben mit unbekannten Zeichen gesendet werden

*Ajax-Antwort:

Um die Antwort des Servers zu erhalten, müssen Sie die Eigenschaft „responseText“ oder „responseXML“ des XMLHttpRequest-Objekts verwenden.

ResponseText: Rufen Sie die Antwortdaten in Zeichenfolgenform ab.

document.getElementById("myp").innerHTML=xmlhttp.responseText;

ResponseXML: Antwortdaten im XML-Format abrufen.

Wenn die Antwort vom Server XML ist und als XML-Objekt analysiert werden muss.

*Ajax - onreadystatechange:

Wenn eine Anfrage an den Server gesendet wird, müssen wir einige antwortbasierte Aufgaben ausführen.

Immer wenn sich readyState ändert, wird das onreadystatechange-Ereignis ausgelöst.

Im onreadystatechange-Ereignis geben wir die Aufgaben an, die ausgeführt werden sollen, wenn die Serverantwort zur Verarbeitung bereit ist.

Wenn readyState gleich 4 ist und der Status 200 ist, bedeutet dies, dass die Antwort bereit ist:

xmlhttp.onreadystatechange=function()
 {
 if (xmlhttp.readyState==4 && xmlhttp.status==200)
  {
  document.getElementById("myp").innerHTML=xmlhttp.responseText;
  }
 }

Zusätzlich: Schauen wir uns Ajax an, um den Browser zu lösen Caching-Probleme

Der Hauptgrund, warum Ajax die Seitenladegeschwindigkeit verbessern kann, besteht darin, das Laden doppelter Daten durch Ajax zu reduzieren, d. h. die Daten werden beim Laden der Daten im Speicher zwischengespeichert Sobald die Daten geladen sind, werden diese Daten immer im Speicher zwischengespeichert. Wenn die übermittelte URL mit der historischen URL übereinstimmt, besteht keine Notwendigkeit, sie an den Server zu senden. Es besteht keine Notwendigkeit, Daten vom Server abzurufen, obwohl die Belastung des Servers reduziert wird, was die Benutzererfahrung verbessert, aber nicht die neuesten Daten abrufen kann. Um sicherzustellen, dass die gelesenen Informationen aktuell sind, muss die Caching-Funktion deaktiviert werden.

Die Lösungen lauten wie folgt:

① Fügen Sie anyAjaxObj.setRequestHeader("If-Modified-Since", "0") hinzu, bevor Ajax die Anfrage sendet.

②Fügen Sie anyAjaxObj.setRequestHeader("Cache-Control", "no-cache") hinzu, bevor Sie die Ajax-Anfrage senden.

③ Fügen Sie nach der URL eine Zufallszahl hinzu: „fresh=" + Math.random();.

④Fügen Sie die Uhrzeit nach der URL hinzu: „nowtime=" + new Date().getTime();.

⑤ Wenn Sie jQuery verwenden, verwenden Sie $.ajaxSetup({cache:false}). Auf diese Weise führen alle Ajax-Dateien auf der Seite die Anweisung aus, ohne Cache-Datensätze zu speichern.

Zusammenfassung

Das Obige ist der vom Herausgeber eingeführte Caching-Mechanismus von Ajax im IE-Browser an alle. Hilft. Weitere verwandte Tutorials finden Sie unter AJAX Basic Video Tutorial, JavaScript Video Tutorial, Bootstrap Video Tutorial!

Das obige ist der detaillierte Inhalt vonEine kurze Diskussion über den Caching-Mechanismus des Ajax---IE-Browsers. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen