Предотвращать кеширование xmlHttpReq

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

Ответ 1

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

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

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

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

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