1

好的,所以基本上这是我的问题:

  • 我有一个动态页面,里面有一个表格
  • 当用户单击删除条目时,该条目将从数据库中删除,并使用 Ajax 重新加载表(通过控制器)
  • 但是,即使重新获取内容,它也会继续显示我的内容的先前版本(好像页面以某种方式被缓存了?)。如果我重新加载整个页面,它会显示正常...

会发生什么?

4

4 回答 4

1

它实际上是一个与缓存相关的问题。因此,为确保这一点,只需模拟新的 URI,如

$.post("yourupdatepage.php?r="+(Math.random() * (1000 - 1) + 1), 
  ...
);
于 2012-09-18T13:07:14.927 回答
1

我猜你正在获取缓存的结果。在调用数据重新加载以解决此问题时,您可以在 ajax 调用中添加唯一的时间戳。

您可以使用$.now函数返回一个代表当前时间的数字。

$("#someDiv").load("yourPage.php"+$.now());
于 2012-09-18T13:03:47.797 回答
1

确保您的 ajax 请求未缓存在客户端上。假设您使用的是 jquery,则有一个设置:http ://api.jquery.com/jQuery.ajax/具有魔力。

使用 firebug 或 chrome 开发工具检查您的请求/响应标头。可能有类似cache-controllast-modified让您的浏览器缓存请求的东西。

任何服务器端缓存引擎?

于 2012-09-18T12:53:10.600 回答
1

你在用 Chrome 吗?

在 Chrome 上使用 ajax 调用时,我发现了类似的行为。

如果您使用 jQuery 进行 ajax 调用,您可以使用属性 cache: false 方法 ajax 来避免这种行为。

于 2012-09-18T12:19:40.423 回答