2

我有一个更新 html 的 ajax 函数(在 jquery 中)。没关系。现在,当我在地址栏中点击输入(刷新)时,我的 html 没有更新(旧内容)。然而,当我这样做时cmd + R,我的 html 总是可以的。

问题是什么 ?为什么我的内容显示地址栏中的旧内容?

编辑 :

我在 jQuery 中使用Chromeetload()

4

5 回答 5

5

如果您在浏览器本身缓存有问题,您需要设置标头以防止在您的服务器端代码(例如 Php、Java、Python ......等)中缓存。

但是,如果您想避免在 Ajax 函数中进行缓存,请使用以下代码:

 $.ajax({
              url : scriptUrl,
              type : "get", // or 'post'
              cache : false, // This is to avoid Cache in Ajax Requests
              // .........................etc
});

注意:提供有关您的问题的更多详细信息以获得更清晰的答案。

于 2012-12-28T11:11:55.703 回答
4

在“head”标签中插入以下行,如下所示,

<head>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">
于 2012-12-28T11:15:00.300 回答
1

利用:

Cntl/Cmd+ Shift+R

忽略 Chrome 中的缓存。

于 2012-12-28T11:09:44.077 回答
1

提供更多细节会有所帮助。我认为您的 ajax 代码不起作用。可能是它正在获取数据但没有正确更新页面。如果您在 Firefox 中,请尝试检查错误控制台。如果您要更新内容,它应该向您显示任何错误。

尝试使用fiddler找出您使用 ajax 实际获取的内容。这里有很多事情可能会发生并且会失败。

于 2012-12-28T11:10:20.177 回答
0

使用这个,在 jQuery 被加载之后

jQuery.ajaxSetup({ cache: false });

有关更多信息,请查看jQuery.ajaxSetup的文档

此函数使用传递给jQuery.ajax()方法的相同选项。

请注意,这将禁用所有 jQuery ajax 请求的缓存。

于 2013-05-07T12:04:55.127 回答