【发布时间】:2011-12-24 19:03:55
【问题描述】:
我有一个网络应用程序。使用 AJAX(通过 jQuery)。我注意到一些用户进行了更新,应该通过$.get 在网页上自动更新,但在某些情况下没有更新发生。我将问题缩小到任一
A. A race condition or B. Caching
我无法在我的浏览器 IE7 和 FF7 上重现该问题。我去了用户的机器,让他们在 IE7 中检查the setting 以“检查页面的新版本:每次访问”。问题似乎消失了。所以,我相信问题出在这个设置上,最初设置为“自动”。
其他浏览器是否支持这种“缓存”(或者在技术上是这样翻译的)?
知道为什么 IE7 不够智能,无法在代码显式进行服务器调用时让 AJAX $.get() 请求不被缓存吗?我的意思是,是否存在已知错误或者这是一个“功能”?
可以在不翻转客户端设置的情况下禁用它吗?
【问题讨论】:
-
@psr - 这个问题专门针对 HTTP。我不知道如何将该解决方案转换为适用于 jQuery 的解决方案。我也不确定该解决方案是否适用于这种情况。但是,这让我想知道这个问题是否真的属于 SO。
-
@psr - 这看起来是我的第三个问题的一个很好的解决方案。您知道浏览器设置与问题的关系吗?我是否可以假设按照所述更改设置提供了替代解决方案?
-
@psr Stack Overflow 问题肯定是相关的,但我们不能在这里迁移。这显然是题外话。
-
我认为这个问题在 SO 上也可以做得很好。它部分是概念性的,但核心似乎仍然是一个实现问题。你想让我把它迁移过来吗?
-
@Anna Lear - 当然。我认为这是个好主意,谢谢。