gpt4 book ai didi

caching - AngularJS 中防止 IE 缓存的更好方法?

转载 作者:行者123 更新时间:2023-12-03 05:41:27 24 4
gpt4 key购买 nike

我当前使用 service/$resource 进行 ajax 调用(在本例中为 GET),并且 IE 缓存这些调用,以便无法从服务器检索新数据。我使用了通过谷歌搜索找到的一种技术来创建一个随机数并将其附加到请求中,这样 IE 就不会去缓存数据。

有没有比在每个请求中添加cacheKill更好的方法?

工厂代码

.factory('UserDeviceService', function ($resource) {

return $resource('/users/:dest', {}, {
query: {method: 'GET', params: {dest: "getDevicesByUserID"}, isArray: true }
});

从 Controller 调用

$scope.getUserDevices = function () {
UserDeviceService.query({cacheKill: new Date().getTime()},function (data) {
//logic
});
}

最佳答案

正如我的另一篇文章中所述 posts ,您可以在 $httpProvider 中全局禁用缓存:

myModule.config(['$httpProvider', function($httpProvider) {
//initialize get if not there
if (!$httpProvider.defaults.headers.get) {
$httpProvider.defaults.headers.get = {};
}

// Answer edited to include suggestions from comments
// because previous version of code introduced browser-related errors

//disable IE ajax request caching
$httpProvider.defaults.headers.get['If-Modified-Since'] = 'Mon, 26 Jul 1997 05:00:00 GMT';
// extra
$httpProvider.defaults.headers.get['Cache-Control'] = 'no-cache';
$httpProvider.defaults.headers.get['Pragma'] = 'no-cache';
}]);

关于caching - AngularJS 中防止 IE 缓存的更好方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16971831/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com