Контент кэшируется - PullRequest
       8

Контент кэшируется

0 голосов
/ 11 августа 2009

Я создаю страницу портала для проекта, и содержимое div обновляется каждые 1000 секунд.

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

Это происходит только в Internet Explorer

Вот код javascript, который я использовал для обновления и загрузки div:

var auto_refresh = setInterval(
    function () {
        $('#news').load('apps/news.php').fadeIn("slow");
    }, 1000);

И, как вы можете видеть, данные содержатся в файле PHP.

содержание news.php:

<dl class="news">
  <dt>09/01/08</dt>
   <dd>
    <a href="#"><img src="/images/news1.jpg" alt="News image 1" /></a>
     <p><a href="#">Opal network services resume - Bada Bing!</a></p>
   </dd>
  <dt>07/01/08</dt>
   <dd>
    <a href="#"><img src="/images/news3.jpg" alt="News image 3" /></a>
     <p><a href="#">Anglia Contemporary Theatre - "Some news-pschitt!"</a></p>
   </dd>
  <dt>07/01/08</dt>
   <dd>
    <a href="#"><img src="/images/news4.jpg" alt="News image 4" /></a>
     <p><a href="#">ALSS Faculty Research Seminar - Novel Plots: Narrative in Nineteenth-Century Verbal and Visual Fictions</a></p>
   </dd>
  </dl>

Как мне настроить его так, чтобы данные не кэшировались?

Спасибо

Ответы [ 2 ]

6 голосов
/ 11 августа 2009

добавить текущее время к запросу в конце URL:

var auto_refresh = setInterval(
  function () {
  $('#news').load('apps/news.php?random='+(new Date()).getTime()).fadeIn("slow");
  }, 1000);
1 голос
/ 11 августа 2009

Добавьте no-cache в директиву кэширования для news.php или используйте короткий кэш «скажем, 500 секунд», чтобы повысить производительность при обновлении <1000 с. Настройте стратегию кэширования под свои нужды. </p>

Образец от http://www.php.net/manual/en/function.header.php:

<?php
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...