So habe ich einen Ajax-System zum Laden von Inhalten auf einer Webseite, funktioniert es wie folgt aus:Microsoft Edge Caching Ajax Anforderungen?
Wenn Klicken auf eine Schaltfläche, eine Javascript-Funktion aufgerufen wird:
onclick="doSomething('abc')"
Meine Javascript sieht wie folgt aus:
//Ajax
var xmlhttp;
function loadXMLDoc(url,cfunc) {
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
} else {
// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=cfunc;
xmlhttp.open("GET",url,true);
xmlhttp.send();
}
function doSomething(var) {
loadXMLDoc("http://www.website.com/ajax/doSomething.php?var="+var, function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("response-container").innerHTML=xmlhttp.responseText;
}
});
}
die PHP-Datei nur Echo ist ein bisschen wie dieser Text genannt:
echo "Response here";
Im Allgemeinen verwende ich diese Art von System, um bei jedem Ausführen dieser Javascript-Funktion neuen Inhalt in einem Element mit einer bestimmten ID zu laden.
Das hat seit etwas mehr als 3 Jahren perfekt funktioniert, aber aus irgendeinem Grund Caching Microsoft Edge die Antwort von diesem. Daher wird der Inhalt überhaupt nicht korrekt generiert. Sie führen das also einmal aus, und für x Zeit wird es immer die gleiche zwischengespeicherte Antwort zurückgeben.
Irgendwelche Ideen, was die richtige Lösung dafür ist? Ich habe erwähnt, Header zu verwenden, aber ich bin mir nicht sicher, wie man in dieser Situation eine Korrektur anwendet.
Haben Sie versucht, einen Zeitstempel zu den Abfrage-String-Parameter angeben? Ich habe das verwendet, um zu erzwingen, dass CSS-Dateien nicht zwischengespeichert werden. dh '? var =" + var + "& ts =" + Date.now() ' – Quantastical
Die Zwischenspeicherung von ajax-Anfragen ist ein häufiges Problem, und Browser tendieren dazu, immer aggressiver zwischenzuspeichern. Ein zusätzlicher Anforderungsparameter, der einen timestamp-Wert enthält, ist eine häufige Problemumgehung –