我试图通过将Cache-control标头设置为我的一些GET请求来绕过激进的IE10缓存。
然而,它似乎没有预期的效果。您可以在下面找到我使用的代码。名字有点消毒。
service.factory('service', ['$resource',
function($resource) {
return $resource(url + '/:year', {year : '@year'},
{'GET': {
headers : {
'cache-control': 'private, max-age=0, no-cache' }
}});
}
]);
答案 0 :(得分:2)
我已将缓存控件放在配置中。
$httpProvider.defaults.headers.common['Cache-Control'] = 'no-cache, no-store, must-revalidate';
$httpProvider.defaults.headers.common['Pragma'] = 'no-cache';
$httpProvider.defaults.headers.common['Expires'] = '0';
有了这个,我能够为IE缓存,但我在配置路由器提供商之前放入了模块配置。
更新
可能是这样的,我对此并不完全确定。所以你可以试试。
service.factory('service', ['$resource',
function($resource) {
return $resource(url + '/:year', {year : '@year'},
{'GET': {
headers : {
'cache-control': 'no-cache, no-store, must-revalidate',
'Pragma' : 'no-cache',
'Expires' : '0'
}
}});
}
]);
答案 1 :(得分:2)
建议的解决方案对我没有帮助,但给予深思。为子孙后代发布最终解决我问题的配置。
var config = {
headers : {
"Pragma": "no-cache",
"Expires": -1,
"Cache-Control": "no-cache"
}
};
答案 2 :(得分:0)
service.factory('service', ['$resource',
function($resource) {
return $resource(url + '/:year', {year : '@year'},
{'GET': {
headers : {
"Pragma": "no-cache",
"Expires": -1,
"Cache-Control": "no-cache"
}
}});
}
]);
答案 3 :(得分:0)
$http.get("your api url", {
headers: {
'If-Modified-Since': '0',
"Pragma": "no-cache",
"Expires": -1,
"Cache-Control": "no-cache, no-store, must-revalidate"
}
})
这个将禁用每个浏览器的缓存。