我正在为项目创建一个门户页面,并且包含的div每1000秒刷新一次。
我遇到的问题是,所引入的内容总是被缓存,因此刷新无效,用户必须进行硬刷新。
这仅发生在Internet Explorer
中这是我用来刷新和加载div的javascript代码:
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>
如何设置它以便不缓存数据?
由于
答案 0 :(得分:6)
将当前时间添加到网址末尾的查询中:
var auto_refresh = setInterval(
function () {
$('#news').load('apps/news.php?random='+(new Date()).getTime()).fadeIn("slow");
}, 1000);
答案 1 :(得分:1)
将no-cache添加到news.php的缓存指令中,或者使用短缓存(例如500秒)来提高&lt;的性能。 1000s刷新。根据您的需要调整缓存策略。
来自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
?>