好的,所以基本上这是我的问题:
- 我有一个动态页面,里面有一个表格
- 当用户单击删除条目时,该条目将从数据库中删除,并使用 Ajax 重新加载表(通过控制器)
- 但是,即使重新获取内容,它也会继续显示我的内容的先前版本(好像页面以某种方式被缓存了?)。如果我重新加载整个页面,它会显示正常...
会发生什么?
好的,所以基本上这是我的问题:
会发生什么?
它实际上是一个与缓存相关的问题。因此,为确保这一点,只需模拟新的 URI,如
$.post("yourupdatepage.php?r="+(Math.random() * (1000 - 1) + 1),
...
);
我猜你正在获取缓存的结果。在调用数据重新加载以解决此问题时,您可以在 ajax 调用中添加唯一的时间戳。
您可以使用$.now函数返回一个代表当前时间的数字。
$("#someDiv").load("yourPage.php"+$.now());
确保您的 ajax 请求未缓存在客户端上。假设您使用的是 jquery,则有一个设置:http ://api.jquery.com/jQuery.ajax/具有魔力。
使用 firebug 或 chrome 开发工具检查您的请求/响应标头。可能有类似cache-control
或last-modified
让您的浏览器缓存请求的东西。
任何服务器端缓存引擎?
你在用 Chrome 吗?
在 Chrome 上使用 ajax 调用时,我发现了类似的行为。
如果您使用 jQuery 进行 ajax 调用,您可以使用属性 cache: false 方法 ajax 来避免这种行为。