предотвратить кэширование в браузере xmlHttpReq - PullRequest
10 голосов
/ 21 октября 2010

Кажется, что все браузеры, кроме Opera, кешируют XHR-запросы в моей программе Javascript. URL-адрес в запросе XHR относится к CGI-программе на сервере, которая генерирует различный вывод при каждом вызове. В Есть ли способ в Javascript, чтобы браузер не кэшировал XHR-запросы?

1 Ответ

11 голосов
/ 21 октября 2010

Для каждого запроса AJAX, который вы делаете, генерируйте уникальное значение и добавляйте его к URL-адресу ajax в качестве параметра запроса:

/example/url/post.php?rand=09809807896768

Я использую для создания текущей метки времени Unix в JS и использую это -гарантирует, что я не получу дубликаты марок.

Таким образом, каждый запрос уникален и не будет кэшироваться.Это простой, но довольно распространенный трюк AJAX, обычно исправляющий IE и проблемы с тестированием.

Если вы использовали jQuery, он сделает это за вас, установив для кеша свойств значение false в AJAX settings .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...