【发布时间】:2014-11-05 17:44:40
【问题描述】:
我在我的网站上使用 AJAX,并且我的网站在 AJAX 准备好文档后会加载一些部分负载,并且这些部分是动态的。
示例一部分:您好#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");
?>
但是缓存没有被禁用。
【问题讨论】:
-
专业提示:为了避免缓存 AJAX 请求,请在您请求的 URL 末尾添加一个伪时间戳。
-
Jay Blanchard 上面所说的一个例子是请求这样的页面:'yoursite.com/ajax_script.php?t=1152014105753' 其中数字字符串是当前日期/时间到秒。这将跳过缓存并将其视为浏览器的新文件。