0

在我的代码中,我有一堆将缓存选项设置为 true 的 ajax 请求。

当我运行我的代码时,我如何判断数据是从缓存中检索到的还是从服务器中检索到的(第一次请求,或者缓存过期,或者由于某种原因绕过了缓存)?

理想情况下,我想在 JavaScript 代码本身中执行此操作,因为我可能有多个并行运行的调用。

4

4 回答 4

3

在 chrome 开发工具中,在网络选项卡中,您可以看到所有请求,如果从缓存中检索到,则会在大小列中显示(来自缓存)。

于 2013-10-04T19:40:00.193 回答
0

看看这个:https ://code.google.com/p/ajax-cache/

请注意 cache:true 仅适用于 GET 和 HEAD 请求。

于 2013-10-04T19:43:55.680 回答
0

缓存由浏览器管理(不受您的直接控制),因此它有点不可预测。

如果参数完全相同,则应使用缓存。

如果您想确保您的 Ajax 始终是“新调用”,请向您的 Ajax 请求添加一些参数,例如当前时间戳。

....

    if (!args.url.indexOf("?")) args.url=args.url+"?xxxtmstmp="+new Date().getTime();
    else args.url=args.url+"&xxxtmstmp="+new Date().getTime();
...
于 2013-10-04T19:46:35.123 回答
0
于 2013-10-04T19:46:59.793 回答