我在我的网站和我的网站上使用AJAX,在AJAX准备好文档之后加载了一些部分,这些部分是动态的。
示例一部分:Hello#USERNAME#每个ID都不同,当我登录到第一个ID时显示我的用户名但登录到第二个ID时此名称不会更改并显示第一个ID用户名。
我通过上面的代码在所有PHP页面中禁用了缓存:
<?php
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");
?>
但缓存未被禁用。
答案 0 :(得分:1)
我认为这个问题有点重复。但是,如果要确保在ajax调用上不会发生缓存,则可以在您正在访问的URL的末尾附加时间戳。
JavaScript AJAX准备中的示例:
var time_stamp = new Date().getTime();
var myurl = "url_here.php?timestamp=" + time_stamp;
jQuery.get(myurl, /* more parameters */);
/* other relevant code */
以下是Google的其他一些消息来源:
另一件需要考虑的事情是它可能不是缓存问题。您是否正确清除任何会话/ cookie? (如果您正在使用它们)