0

是否可以确定$.ajax返回的响应是从浏览器的缓存中提供的还是新鲜的?

谢谢。

4

2 回答 2

4

不,那是不可能的。您可以做的是每次都创建一个新 URL(例如:通过将随机字符串附加到 URL,服务器上的脚本会忽略该字符串),或者通过适当地设置响应的缓存标头。

见:http ://www.mnot.net/cache_docs/#CACHE-CONTROL

您可能想要设置max-ageno-storeno-cachemust-revalidate前一个的组合。

于 2010-09-12T03:09:06.300 回答
0

您可以在 jQuery 中使用以下内容来确保它不会缓存:

$.ajaxSetup({cache: false}});

我不确定你想要实现什么。

如果您真的想知道数据是否过时,可以执行以下操作:

  1. 让您的服务器在每次调用时都返回一个唯一的字符串
  2. 检查此字符串是否存在于您的 javascript 临时变量中
  3. 如果是,它是陈旧的,如果不是,它是新的。
于 2010-09-12T03:57:38.580 回答