2013-03-18 101 views
-2

我有一个网页,使用jquery.ajax来执行一些操作。当我调用ajax动作时,关闭浏览器然后打开它,我看不到由ajax所做的更改。我如何强制浏览器刷新页面打开?刷新浏览器缓存打开它

+0

你的“ajax动作”是手动调用还是在'document.ready()'上调用? – Archer 2013-03-18 13:09:40

+0

手动调用 – szaman 2013-03-18 13:11:01

+0

因此,当您刷新页面时,需要再次调用ajax以使其生效。或者我误解了一些东西?页面刷新将仅显示它,因为它在源代码中。 – Archer 2013-03-18 13:13:09

回答

1

尝试加入提出的解决方案。 location.reload()只会无法正常工作,因为浏览器将无限重新加载页面。

尝试在document.ready()上调用web服务器的ajax调用,该选项仅在页面上的内容发生更改时才会检查。用当前页面内容来对付它,并在需要时进行刷新。您需要在您的ajax调用中使用cache参数。如果没有它,呼叫将返回其先前的状态。

3

它添加到<head>段:

<meta http-equiv="cache-control" content="no-cache"> 

应该强迫你的浏览器,每次刷新页面加载时

这里是东西,以防止AJAX被缓存:

$.ajax({ 
    url: "test.html", 
    cache: false 
}).done(function(html) { 
    $("#results").append(html); 
}); 
+0

这是否也强制ajax调用不被缓存?我不认为它确实如此。 – Archer 2013-03-18 13:02:48

+0

因为你可以在jquery中设置一些标志来停止缓存中的ajax – ITroubs 2013-03-18 13:03:36

+0

是的,我知道。感谢您的加入:) – Archer 2013-03-18 13:06:31