Ajax-кеш: false не работает - PullRequest
0 голосов
/ 18 сентября 2011

В моем запросе ajax кэш имеет значение false, но Chrome все еще время от времени кеширует его, поэтому, когда я нажимаю кнопку «Назад», я получаю кэшированные данные. Я попытался добавить случайный параметр даты / времени / математики в конец URL, но безуспешно. Есть ли другой способ сделать это никогда не кэшировать?

Спасибо

Ответы [ 2 ]

1 голос
/ 18 сентября 2011

Установка кеша в false добавляет случайный параметр к URL, поэтому вы делаете это самостоятельно, повторяется.

Единственная причина, по которой это предотвращает кеширование, заключается в том, что он никогда не повторяет один и тот же URL дважды.

Вместо истечения срока действия данных ajax, истекает срок действия самой страницы.Когда страница перезагружается, она автоматически истекает.

Вы также можете попробовать некоторые события на странице, чтобы определить, появляется ли она снова, и очистить данные.

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

0 голосов
/ 18 сентября 2011

вы уверены, что Chrome выполняет кэширование, а не веб-сервер. Судя по всему, вы делаете все правильно, чтобы избежать кеширования Я бы предложил установить свойство cache-control в шапке. в зависимости от вашего языка сценариев на стороне сервера найдите правильный способ сделать то же самое.

JSP: response.setHeader("Cache-Control", "no-cache");

PHP:

  <?php header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
  header("Cache-Control: no-store, no-cache, must-revalidate");
  header("Cache-Control: post-check=0, pre-check=0", false);
  header("Pragma: no-cache");  `
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...