Wie Sie verhindern, dass die Zwischenspeicherung von jQuery, Ajax?
Könnte jemand mir bitte helfen mit diesem? Ich habe eine web-Seite mit .manifest für offline-Speicher-caching. Auf dieser Seite habe ich die jQuery-ajax-Aufruf zum abrufen der Daten vom server. Wenn ich laden Sie zunächst die Seite, es ist OK. Ich kann wechseln zwischen Online und Offline. Aber das problem ist, wenn ich wieder online gehen und aktualisieren Sie die Seite. jQuery ajax nicht in der Lage zu sprechen zu server mehr. Gibt es eine Möglichkeit, für ajax zu sprechen, um die server-oder deaktivieren Sie den offline-cache?
Mein ajax-Aufruf ist wie folgt:
$.ajax({
type: "GET",
url: requestUrl,
success: localSuccess,
error: error,
dataType: "text",
cache:false
});
- Ich bin verwirrt, warum würden Sie wollen, zum löschen der offline-cache, wenn Sie keinen Zugriff auf die server?
- Kerry, ich will nicht zu klaren offline-cache. Ich möchte nur zum synchronisieren meiner localStorage(HTML5-feature) mit dem server. Aber ich kann das synchronisieren, wenn ich die offline-caching. Ohne diesen cache, es funktioniert OK.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe dieses Stück code am oberen Rand jeder Seite/Master-Seite
cache:false
in der ajax-Aufruf. Dann ist mein code wird nicht helfen. Können Sie uns mehr details/mehr javascript im Hinblick auf die Entscheidung zwischen online - /offline. Ich bin ein wenig verwirrt.legen Sie die zufällige Zeichenfolge in der url wie "bekommen.php?random="+Math.random()" kann dieses problem lösen. Es ist nicht die beste Lösung, aber Es funktioniert Super.
Ich weiß, ich bin sehr, sehr spät zu dieser party, aber nur, um es draußen. Und ich bin es Leid, zu wiederbeleben, diese Frage aus Zombie-land.
In safari und einige ältere Browser (von dem, was ich erlebt habe bis jetzt,
cache:false
scheint nicht zu funktionieren manchmal). für eine weitere cross-browser-kompatible Lösung, man könnte hinzufügen, eine Daten-option, um die ajax () - Aufruf, und fügen Sie einen random number generator als parameter. Es wäre so etwas wie dieses.Diese Weise werden jedesmal, wenn ein server-Aufruf passiert, wird eine neue Zufallszahl generiert wird, und da die Daten von der vorherigen requests, ajax-requests werden nicht gecached und sorgen für einen frischen server rufen jedes mal. Und in Ihrem server verwenden, können Sie ignorieren diese variable
r
.