angularjs - 如何在 IE 中禁用 Angular 中的 AJAX 请求缓存

标签 angularjs http internet-explorer

我有一个对服务器进行 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/

相关文章:

javascript - Angularjs 指令 : child nodes

javascript - map 仅在窗口更改时正确显示

Javascript 对象未使用 Angular js 在 View 中更新

ruby-on-rails - 如何将 curl 中的 POST 请求转换为 ruby​​?

javascript - IE11 是否移除了 javascript 条件编译?

angularjs - ngInfiniteScroll 不工作

http - 如何将https更改为http

android - 使用来自 Android 的 HTTP 或套接字

jquery - IE : SCRIPT5009: 'e' is undefined

javascript - IE长链接错断