Angular-опрос не работает в 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 в заголовок ответа и заполняю его «без кеша».

Перейдите по этой ссылке для более подробной информации Как управлять веб- кэширование страниц во всех браузерах?

person kwangsa    schedule 07.05.2015
comment
Спасибо, я обнаружил, что наш бэкенд не указал заголовок ответа без кеша, а затем, после того, как я его добавил, теперь приложение отлично работает в IE11. еще раз спасибо. - person loveNZ; 07.05.2015