Deprecated: Function set_magic_quotes_runtime() is deprecated in /mnt/data/accounts/w/webmark/data/www/blog/textpattern/lib/txplib_db.php on line 14
jQuery: AJAX load a cache :: Blog v pavučině
Blog v pavučině je mrtev. Ať žije nový blog Všeho s Mírou
Skočit na obsah Skočit na menu Skočit na vyhledávání

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.jqu­ery.com/…/jQu­ery.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.