В настоящее время я использую service/$ resource для создания ajax-вызовов (GET в этом случае), а IE кэширует вызовы, чтобы свежие данные не могли быть получены с сервера. Я использовал технику, которую я нашел в Google для создания случайного числа и добавил его в запрос, чтобы IE не переходил к кешу для данных.Лучший способ предотвратить кеш IE в AngularJS?
Есть ли лучший способ, чем добавление cacheKill к каждому запросу?
завода код
.factory('UserDeviceService', function ($resource) {
return $resource('/users/:dest', {}, {
query: {method: 'GET', params: {dest: "getDevicesByUserID"}, isArray: true }
});
вызова от контроллера
$scope.getUserDevices = function() {
UserDeviceService.query({cacheKill: new Date().getTime()},function (data) {
//logic
});
}
Я добавил заголовки No-Cache на стороне сервера, и она работала на данный момент. –
Ufuk, это, по-видимому, самый эффективный способ заботиться о проблеме «глобально» или более масштабируемым образом, без необходимости сделать каждый уникальный вызов ajax/REST уникальным. Вы должны ответить на вопрос, поэтому я могу отметить это как ответ! Вы заслуживаете кредита. – binarygiant
BTW, я использую node/express для веб-сервера, и я выполнил то, что рекомендовал Ufuk, добавив следующий код для выражения конфигурации: app.use (функция noCache (req, res, next) { res.header ("Cache -Control "," no-cache, no-store, must-revalidate "); res.header (" Pragma "," no-cache "); res.header (" Истекает ", 0); next () }) – binarygiant