JQuery/AJAX und IE Cache

by Bernhard Wurm 4. July 2010 06:57

Caching ist eigentlich etwas gutes, da dadurch die Ladezeit verringert werden kann. Doch wenn man per AJAX-Call Befehle absetzt und der Internet Explorer entscheidet dies nicht zu  tun, da er aufgrund seines aktuellen Caches glaubt, er wüsste das Ergebnis ohnehin schon ist dies nicht förderlich.

Warum ist das so?

  • Im HTTP-Header sind keine Caching-Attribute gesetzt. Dadurch cached der IE

Was kann ich dagegen tun?

Im IE das Caching deaktivieren: Unter Extras –> Internet Optionen –> Browsing History –> Einstellungen sollte anstatt auf Automatisch lieber “Bei jedem Zugriff auf die Seite” eingestellt werden. Dadurch wird das Problem behoben.
 image image

Doch dies ist nur eine Lösung für die lokale Maschine! Etwas anderes muss her.

Angenommen wir können auf dem Server die Caching-Header nicht ändern (was durch Konfiguration im IIS, oder durch ASP, ASP.NET, PHP, etc. Befehle möglich, so existiert noch eine Konfiguration im JQuery, die das Caching für den AJAX-Aufruf deaktiviert:

image

Die Frage die ich mir dabei stelle: warum cached nur der IE und Firefox etc. nicht? Eigentlich wäre caching hier, vor allem da der Default-parameter beim Aufruf true ist, für jeden Browser legitim!

Naja. Cache:false ist auf jeden Fall die Lösung :-)

Categories: jQuery

Add comment


(Will show your Gravatar icon)

  Country flag

biuquote
  • Comment
  • Preview
Loading