【问题标题】:How to Avoid API data response from cache in IE 11?如何避免 IE 11 中缓存的 API 数据响应?
【发布时间】: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


【解决方案1】:

在 Internet Explorer 11 中禁用网页缓存

如果您在 Internet Explorer 11 中使用网页缓存,StorageGRID Webscale 安装程序网页可能无法正常运行。如果您想使用此浏览器访问安装程序网页,则必须禁用缓存。

步骤 在 Internet Explorer 11 的右上角,单击齿轮图标齿轮图标。 从菜单中,选择 Internet 选项。 在常规选项卡上,找到浏览历史记录部分,然后单击设置。 在 Internet 临时文件选项卡上,确认选择了每次访问网页时。 网站数据设置 > 临时 Internet 文件 > 每次访问所选网页时 在缓存和数据库选项卡上,确认未选中允许网站缓存和数据库。 网站数据设置 > 缓存和数据库 > 允许未选择网站缓存 点击确定。

【讨论】:

    猜你喜欢
    • 2019-09-05
    • 2012-05-09
    • 2012-04-10
    • 1970-01-01
    • 1970-01-01
    • 2014-09-06
    • 2011-05-24
    • 1970-01-01
    相关资源
    最近更新 更多