【发布时间】:2019-05-06 20:45:31
【问题描述】:
我正在使用 JavaScript 进行 API 调用,但在第二次调用时,我正在从缓存中获取该数据。
<meta http-equiv="Cache-Control" content="no-cache" />
<meta http-equiv="expires" content="-1" />
<meta http-equiv="Pragma" content="no-cache" />
我已在 HTML 的 Head 部分中包含上述元标记。
在进行 API 调用时,我已经使用以下标头拦截了请求。
{ "Cache-Control" : "no-cache" , Pragma: "no-cache", Expires: "-1" }
但我仍然第二次从缓存中获取该 api 数据。 此问题仅适用于 IE。
除了下面提到的标签,我也尝试过
<meta http-equiv="Cache-Control" content="no-store" />
<meta http-equiv="cache-control" content="max-age=0" />
<meta http-equiv="expires" content="0" />
<meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" />
但这无济于事。
任何人都可以提出解决方案。
谢谢,
【问题讨论】:
-
我浏览了 IE 的这个链接并尝试设置它,但它不起作用。 support.microsoft.com/en-us/help/234067/…
-
出于测试目的,尝试打开开发者工具并转到网络选项卡并启用“始终从服务器刷新”选项。在这里您可以在图像中看到。 i.postimg.cc/q7rD6djb/75.png 检查它是否有任何区别。我将尝试使用代码找到任何其他解决方案并尝试通知您。
-
@Deepak-MSFT,感谢您的帮助。 “始终从服务器刷新”按预期工作,如果您有任何结果,请告诉我,因为工作调试器模式不是很好的体验 :)
-
@Harshal,我尝试找到始终刷新服务器数据的代码。我发现你已经尝试过的大部分事情。没有任何其他代码可以做到这一点。我找到了 Cache.delete() 方法,但 IE 也不支持它。 developer.mozilla.org/en-US/docs/Web/API/Cache/delete
标签: javascript html caching internet-explorer-11 browser-cache