如何禁用浏览器缓存?

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

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

编辑:

我在jQuery中使用Chrome et load()

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

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

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

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

在“head”标记内插入以下行,如下所示,

    

使用:

Cntl / Cmd + Shift + R.

忽略Chrome中的缓存。

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

尝试使用fiddler来查找使用ajax实际获取的内容。 有很多事情可以在这里发生,并会使它失败。

在加载jQuery之后使用它

 jQuery.ajaxSetup({ cache: false }); 

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

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

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