]]>
]]>
Рейтинг@Mail.ru

Кэш браузера при запросе Ajax

Материал из Веб программирование.

Перейти к: навигация, поиск

Иногда зарпосы кэшируются и некоторые браузера выдают устаревшию информацию, когда ссылка однотипная. То есть первый раз за кэшировав ссылку и последущий выдают кэш, ответ на самый первый запрос.

new Ajax.Request(this.Connector+"?get=dirContent&browser="+this.BrowserType+this.SecurityAdd);

Если в ответе лежала бы такая функция то ответ был бы всегда одинаковым:

echo "Вы увидите всегда одно и тоже число:".rand().", timestamp: ".time();

Один из методов этого избежать - это передавать уникальную ссылку например в конце дописывать уникальное число например &rand="+Math.random(). Таким образом каждый раз будет новая ссылка, и браузер будет показывать каждый раз новый ответ.

new Ajax.Request(this.Connector+"?get=dirContent&browser="+this.BrowserType+this.SecurityAdd+"&rand="+Math.random());


Еще одно Решение

Еще один вариант это в ответе запроса разместить заголовок чтобы избежать кэширование браузером:

//PHP Requests Handler
header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT");    // Время в прошлом
header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header ("Cache-Control: no-cache, must-revalidate");  // HTTP/1.1
header ("Pragma: no-cache");
//header ("Content-type: application/xml"); //Если посылаете XML
 
//...................
echo "Вы увидите каждый раз новое число:".rand().", timestamp: ".time();
]]>
Google+
]]>
Личные инструменты
Хочешь еще цитату? Опасайтесь программистов, носящих с собой отвертки!Леонард Брендвайн
веб-программирование
Просмотры
чтим

Deprecated: Function set_magic_quotes_runtime() is deprecated in /var/www/webproger/data/www/webproger.ru/1c6a72389c0fd92079ac7ae7cd356173/sape.php on line 218 Deprecated: Function set_magic_quotes_runtime() is deprecated in /var/www/webproger/data/www/webproger.ru/1c6a72389c0fd92079ac7ae7cd356173/sape.php on line 224

]]>
Rambler's Top100
]]>
]]>
]]>