无法通过Ajax重新加载内容

时间:2012-09-18 12:01:13

标签: php ajax codeigniter

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

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

可能会发生什么?

4 个答案:

答案 0 :(得分:1)

您使用的是Chrome吗?

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

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

答案 1 :(得分:1)

确保您的ajax请求未缓存在客户端上。假设您正在使用jquery,那么有一个设置:http://api.jquery.com/jQuery.ajax/可以实现神奇。

使用firebug或chrome dev工具检查您的请求/响应标头。可能会有类似cache-controllast-modified的内容,让您的浏览器可以缓存请求。

任何服务器端缓存引擎?

答案 2 :(得分:1)

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

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

$("#someDiv").load("yourPage.php"+$.now());

答案 3 :(得分:1)

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

$.post("yourupdatepage.php?r="+(Math.random() * (1000 - 1) + 1), 
  ...
);