AJAX Daten nicht aus Cache laden?
Steel
- programmiertechnik
Hi!
Ich nutze gerade Ajax fuer ein firmeninternes Projekt (in ASP - nicht .NET). Dabei stosse ich auf folgendes Problem: Der Browser (IE) ruft nicht die serverseitigen Scripte auf, wenn er die Parameter schon kennt. Er liest sie einfach aus dem Cache.
Gibt es irgendeine Methode den Browser zu zwingen die per xmlHttp aufgerufenen Seiten nicht aus dem cache zu nehmen? Es werden nur kurze Statusangaben ausgegeben wie 'confirmed', 'expired', ... So kann ich den Browser kaum per Metatags zwingen neu zu laden.
Das einzige was mir noch einfaellt ist immer einen zufaelligen oder Zeitlich abhaengigen Wert als Get-Parameter anzuhaengen. Das ist aber wieder so eine holprige Methode die man erstmal den werten Kollegen erklaeren muss. Selbst wenn ich es daneben schreibe, wird es frueher oder spaeter garantiert von jemandem entfernt der es nicht versteht.
Gibt es also eine Methode die ueber das xmlHttp Objekt aufgerufenen Seiten unabhaengig vom Cache aufzurufen?
Hi,
Das einzige was mir noch einfaellt ist immer einen zufaelligen oder Zeitlich abhaengigen Wert als Get-Parameter anzuhaengen. Das ist aber wieder so eine holprige Methode die man erstmal den werten Kollegen erklaeren muss. Selbst wenn ich es daneben schreibe, wird es frueher oder spaeter garantiert von jemandem entfernt der es nicht versteht.
Das ist aber die einzige zuverlaessige Methode die ich kenne.
Gibt es also eine Methode die ueber das xmlHttp Objekt aufgerufenen Seiten unabhaengig vom Cache aufzurufen?
Ich hatte das gleiche Problem auch mal und mir wurden noch einige andere Tipps gegeben, die aber nicht zum gewuenschten Ergebnis fuehrten.
Das einzige waehre vielleicht noch, bei allen Clients den Cache zu deaktivieren, was aber wohl eher nicht gemacht werden sollte.
mfG,
steckl
Das einzige waehre vielleicht noch, bei allen Clients den Cache zu deaktivieren, was aber wohl eher nicht gemacht werden sollte.
Was als Option auch gar nicht in Frage kommt...
Tja. Danke, dass Du mich bestaetigst. Naja. Ist ja im Grunde nicht mein Bier wenn man spaeter irgendwen an den Code laesst. Sollen sie halt uns befoerdern wenn wir schon deren Kram entwickeln muessen. :(
Hallo,
Entweder du sendest auf dem Server / in dem Script gleich
ein paar Cache-Control: HTTP header mit. Oder du hängst
an die XmlHttpRequest-**GET**-Anfrage einen Parameter
dran.
Beispielsweise: http://example.org/ajax.asp?ignore=94310543
Beim XHR Objekt selbst gabs aber auch noch Möglichkeiten
den Cache zu umgehen.
Aber hier nochmal Google-Ergebnis Nummer 1 zum Thema:
http://www.mnot.net/javascript/xmlhttprequest/cache.html
G,
mario
Hi,
Danke, aber Header sind wenig praktikabel in diesem Fall. :(
Das mit dem get Parameter ist ja was ich eigentlich lieber nicht haette. Aber ich schaetze damit muessen die Kollegen leben.