2010-11-03 121 views

回答

30

cache选项不是jQuery保留的特殊缓存,所以也许这有点不恰当。

  • cache: false追加被请求时间戳的URL,因此它浏览器抢一个新的副本,它更高速缓存断路器。
  • cache: true什么都不做,本地浏览器缓存留下来做任何事情在这里做。

这不是一个特定于jQuery的东西,它只是如何选择不同的浏览器来缓存响应。 If your cache headers are set correctly告诉浏览器要将它缓存到,那就应该。然而,IE喜欢缓存地狱,即使没有头指令要做... 这是可能是你看到的行为。如果这是您想要的行为,请将缓存控制标题(请参阅上面的链接)添加到您希望在其他浏览器中缓存的页面。

+1

我认为你的布尔值是倒退的。 'cache:false'添加时间戳查询字符串,而'cache:true'默认为浏览器行为。 – RANGER 2011-08-30 22:26:03

+0

@cbh - 哎呀你是正确的,更新! – 2011-08-30 22:28:56

+0

为什么该操作接受答案?我有与Chrome相同的问题。无论我做什么,即使服务器正确发送Etag和Last-Modified标题,也无法获得304的ajax请求。我直接从地址栏请求URL,但不是来自Ajax,我也得到了304,所以这显然不是服务器问题。 – cap 2017-05-31 19:56:18

相关问题