Angular-poller не работает в IE11, когда инструмент разработки не открыт
Я работаю над приложением angular v1.3 и использую angular-poller в одном из моих контроллеров для автоматической отправки запроса на получение новых данных из моего бэкэнда каждые 2 секунды.
Он отлично работает в Chrome, но не работает в IE11. Но как ни странно, я использую Fiddler, чтобы увидеть, отправляются ли запросы, когда я использую IE11, я вижу, что в IE 11, если открывается окно инструментов разработки, то запросы отправляются, и мое приложение работает правильно., но если я не открываю консоль разработки, запросы даже не делаются, по крайней мере, это то, что показывает мне скрипач.
poller.get(myResourceService, { action: 'get',
argumentsArray: [{
id: $stateParams.id
}],
delay: '2000',
smart:true })
.promise.then(null, null, function(result) {
$scope.details= result;
});
Выше приведен код, который я имею в моем контроллере. Это действительно раздражающая проблема, и я потратил на это часы. Таким образом, любая помощь будет принята с благодарностью.
ура
1 ответ
Что я обнаружил в IE, так это в том, что они кэшируют AJAX-вызов, и когда вы используете инструменты Fiddler/Development, он будет вести себя иначе, т.е. не будет кэшировать AJAX-вызов. Чтобы решить эту проблему, я обычно добавляю заголовок Cache-Control в заголовок ответа и заполняю его "no-cache".
Проверьте эту ссылку для более подробной информации. Как контролировать кэширование веб-страниц во всех браузерах?