preload
Feb 03

Nehmen wir mal an, wir möchten einen bestimmten Bereich innerhalb einer HTML-Seite per Ajax-Request nachladen. Das kann z.B. sein, um den Inhalt dieses Bereichs zu aktualisieren, da er zwischenzeitlich an anderer Stelle geändert wurde.

Nahmen wir weiter an, wir setzen den Ajax-Request refresh.php ab – der soll den neuen Inhalt für den oben genannten zu aktualisierenden Bereich liefern. In diesem Fall spielt uns der Internet Explorer einen Streich: beim ersten Aufruf klappt die Aktualisierung ganz prima. Da er aber anschließend im Cache liegt, findet bei allen anderen Aufrufen der Aktualisierung kein eigentlicher Request mehr statt, sondern es wird lediglich das geladen, was im Cache liegt. Unschön.

Die Lösung ist zum Glück relativ einfach: einfach eine Zufallszahl an die refresh.php hängen!
Beispiel:

new Ajax.Request("refresh.php?random=" + Math.random(), ...);

Damit klappt’s.