添加的数据仅在重新启动Internet Explorer后显示

时间:2013-08-31 09:40:00

标签: php mysql internet-explorer browser-cache

我用一些简单的MySQL数据库活动制作了一个php程序。这一切在Chrome和Firefox中运行良好,但在Internet Explorer(IE)中有一些令人讨厌的东西。添加和检索时,我可以在Chrome和Firefox中看到所有添加的数据,但在IE中却没有显示。当我再次关闭并重新启动IE时,会显示最后添加的数据。它在我看来是一个缓存(flush?)问题,因此添加了以下cleach-cache代码:

<?php
header("Expires: Tue, 01 Jan 2000 00:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
?>

但这不起作用。我正在使用Internet Explorer 11,希望有人可以帮我修复这个恼人的问题

1 个答案:

答案 0 :(得分:0)

问题是您的站点未能为缓存资源指定新鲜度,并强制IE使用启发式;请参阅http://msdn.microsoft.com/en-us/library/bb250442(v=vs.85).aspxhttp://blogs.msdn.com/b/ie/archive/2010/07/14/caching-improvements-in-internet-explorer-9.aspx

如果您正确指定了缓存标头,那么它们将起作用。您应该发送 Pragma 预检检查后

您的标题应如下所示:

Expires: Tue, 01 Jan 2000 00:00:00 GMT
Cache-Control: no-cache, no-store, max-age=0

这将阻止IE在后向/前向导航(除此之外,忽略服务器的缓存指令)之外的任何内容中重用缓存的响应。