jQuery: AJAX load a cache
Jak vložit vždy aktuální obsah externího souboru? Například ze serveru získaný čas, náhodně generovaný vtip apod.?
Nejjednodušší volání pomocí
$("#provtip").load("/nahodny_vtip.php") v IE nefunguje
správně, protože se výsledek requestu na nahodny_vtip.php použije (po
prvním načtení) již z cache (zobrazoval by se tak stále stejný vtip).
Existují dvě řešení:
1. použít $.ajax s cache: false
Lze použít pouze s jQuery 1.2 a vyšší (viz http://docs.jquery.com/…/jQuery.ajax).
$.ajax({
url: "/nahodny_vtip.php",
cache: false,
success: function(html){
$("#provtip").append(html);
}
});
2. použít load() a doplnit „unikátní“ GETový parametr
var d = new Date();
var msec = d.getMilliseconds();
$("#provtip").load("/nahodny_vtip.php?msec="+msec);
Uvedené příklady jsem testoval ve FF2 a IE7.