在我的代码中,我有一堆将缓存选项设置为 true 的 ajax 请求。
当我运行我的代码时,我如何判断数据是从缓存中检索到的还是从服务器中检索到的(第一次请求,或者缓存过期,或者由于某种原因绕过了缓存)?
理想情况下,我想在 JavaScript 代码本身中执行此操作,因为我可能有多个并行运行的调用。
在我的代码中,我有一堆将缓存选项设置为 true 的 ajax 请求。
当我运行我的代码时,我如何判断数据是从缓存中检索到的还是从服务器中检索到的(第一次请求,或者缓存过期,或者由于某种原因绕过了缓存)?
理想情况下,我想在 JavaScript 代码本身中执行此操作,因为我可能有多个并行运行的调用。
在 chrome 开发工具中,在网络选项卡中,您可以看到所有请求,如果从缓存中检索到,则会在大小列中显示(来自缓存)。
看看这个:https ://code.google.com/p/ajax-cache/
请注意 cache:true 仅适用于 GET 和 HEAD 请求。
缓存由浏览器管理(不受您的直接控制),因此它有点不可预测。
如果参数完全相同,则应使用缓存。
如果您想确保您的 Ajax 始终是“新调用”,请向您的 Ajax 请求添加一些参数,例如当前时间戳。
....
if (!args.url.indexOf("?")) args.url=args.url+"?xxxtmstmp="+new Date().getTime();
else args.url=args.url+"&xxxtmstmp="+new Date().getTime();
...