我有一个更新 html 的 ajax 函数(在 jquery 中)。没关系。现在,当我在地址栏中点击输入(刷新)时,我的 html 没有更新(旧内容)。然而,当我这样做时cmd + R
,我的 html 总是可以的。
问题是什么 ?为什么我的内容显示地址栏中的旧内容?
编辑 :
我在 jQuery 中使用Chrome
etload()
如果您在浏览器本身缓存有问题,您需要设置标头以防止在您的服务器端代码(例如 Php、Java、Python ......等)中缓存。
但是,如果您想避免在 Ajax 函数中进行缓存,请使用以下代码:
$.ajax({
url : scriptUrl,
type : "get", // or 'post'
cache : false, // This is to avoid Cache in Ajax Requests
// .........................etc
});
注意:提供有关您的问题的更多详细信息以获得更清晰的答案。
在“head”标签中插入以下行,如下所示,
<head>
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">
利用:
Cntl/Cmd+ Shift+R
忽略 Chrome 中的缓存。
提供更多细节会有所帮助。我认为您的 ajax 代码不起作用。可能是它正在获取数据但没有正确更新页面。如果您在 Firefox 中,请尝试检查错误控制台。如果您要更新内容,它应该向您显示任何错误。
尝试使用fiddler找出您使用 ajax 实际获取的内容。这里有很多事情可能会发生并且会失败。
使用这个,在 jQuery 被加载之后
jQuery.ajaxSetup({ cache: false });
有关更多信息,请查看jQuery.ajaxSetup的文档
此函数使用传递给jQuery.ajax()方法的相同选项。
请注意,这将禁用所有 jQuery ajax 请求的缓存。