3

我需要完全防止缓存 Ajax 调用结果。Jquery ajax() 函数对此有一个cache: false选项。该选项将时间戳附加到每个请求的资源 ( ?_=1353592676117)。这应该可以完成工作,但不是很优雅。它会污染日志,对于不熟悉该技巧的人来说可能会令人费解。

如果服务器返回一组正确的缓存预防标头(no-cache, no-store, must-revalidate,也可选max-age=0),是否需要启用此选项?如果是这样,在哪些情况下标题是不够的?

4

2 回答 2

2

cache: false如果您在服务器上设置正确的缓存预防响应标头,则不需要设置标志。

于 2012-11-23T10:09:30.500 回答
0

供参考:我发现了一种缓存禁用标头被忽略的情况。在 Chrome 中,如果您点击后退按钮以返回执行 JavaScript 的页面,则脚本会重新执行,但对脚本所做的 Ajax 调用的响应将从缓存中返回,即使它们最初是通过禁用缓存的标头返回的.

于 2013-02-11T12:05:15.527 回答