2012-09-18 55 views
1
重新加载内容

OK,所以基本上这是我的问题:未能通过Ajax

  • 我有一个表中的动态页面在它
  • 当用户点击删除条目,该条目从数据库中删除,表使用Ajax
  • 重新加载(通过控制器)。然而,即使内容再牵强,它一直显示我的内容以前的版本(如同页面在某种程度上缓存?) 。如果我重新加载整个页面,它显示正常...

会发生什么?

+1

您需要发布一段代码,以便我们可以帮助您进行调试。请发布ajax查询和回调。 –

回答

1

您使用的是Chrome吗?

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

如果您正在使用jQuery做AJAX调用,您可以使用属性缓存:假的AJAX方法来避免这种行为。

1

确保你的Ajax请求没有被缓存在客户端上。假设你正在使用jQuery,有一个设置:http://api.jquery.com/jQuery.ajax/这是神奇的。

使用萤火虫或Chrome浏览器开发工具来检查你的请求/响应头。有可能像cache-controllast-modified这让您的浏览器缓存请求。

任何服务器端缓存引擎?

1

我想你会得到缓存的资料。调用数据重新加载以解决此问题时,您可能会向ajax调用添加唯一的时间戳。

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

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

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

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