我有一个对服务器进行 HTTP GET 调用的 Angular 应用程序。它在 Chrome 和 Firefox 上运行良好。但是,我发现 IE 缓存了 GET 响应,在我执行 POST 之后,我需要调用相同的 GET 请求并获取新的更新响应,但 IE 缓存了它。我只想为 IE 禁用缓存。 我尝试使用
'If-None-Match': '*'
我的 GET 调用上的请求 header ,但随后禁用了所有内容的缓存。有没有办法只对 IE 有条件地执行此操作?或者有其他方法可以禁用它吗?
最佳答案
HTML
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Expires" content="Sat, 01 Dec 2001 00:00:00 GMT">
或
JS
if (!$httpProvider.defaults.headers.get) {
$httpProvider.defaults.headers.common = {};
}
$httpProvider.defaults.headers.common["Cache-Control"] = "no-cache";
$httpProvider.defaults.headers.common.Pragma = "no-cache";
$httpProvider.defaults.headers.common["If-Modified-Since"] = "0";
关于angularjs - 如何在 IE 中禁用 Angular 中的 AJAX 请求缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32873865/