我需要完全阻止Ajax调用结果的缓存。 Jquery ajax()函数有一个cache: false
选项。该选项将时间戳附加到每个请求的资源(?_=1353592676117
)。这应该做的工作,但不是很优雅。它会污染日志,对于不熟悉这种技巧的人来说可能会让人费解。
如果服务器返回一组正确的缓存预防标头(no-cache
,no-store
,must-revalidate
,还可选max-age=0
),是否需要启用此选项?如果是这样,在哪些情况下标题是不够的?
答案 0 :(得分:2)
如果要在服务器上设置正确的缓存预防响应标头,则无需设置cache: false
标志。
答案 1 :(得分:0)
作为参考:我发现了一个忽略缓存禁用标题的情况。在Chrome中,如果您点击后退按钮返回执行JavaScript的页面,则会重新执行脚本,但是对脚本发出的Ajax调用的响应将从缓存中返回,即使它们最初返回时也会返回缓存禁用标头