如何阻止IE浏览器缓存API调用?



我遇到了奇怪的IE浏览器错误,我的Web应用程序没有返回预期的api响应,但它可以在其他浏览器中工作。

这似乎不是javascript错误,看起来这可能是IE缓存api响应的缓存问题。

如何确保 IE 不会缓存并返回我的 ajax 调用?

最好的方法是使用缓存控制标头:

https://support.microsoft.com/en-us/help/234067/how-to-prevent-caching-in-internet-explorer

<% Response.CacheControl = "no-cache" %>
<% Response.AddHeader "Pragma", "no-cache" %>
<% Response.Expires = -1 %>

如果您使用的是忽略缓存控制的旧版本的 IE,或者要超级确定没有缓存,那么打破缓存的一种黑客但非常常见的方法是更改 URL 标头以具有唯一生成的 url 参数。

随机数、时间戳或 uuid 都可以用于此目的。

www.mywebsite.com/api-endpoint?_=<GeneratedId>

替换<GeneratedId>的位置。

最新更新