Angular-poller在IE11中在开发工具未打开时无法工作

5
我正在处理一个Angular v1.3应用程序,我在其中一个控制器中使用angular-poller,每2秒自动从后端发送请求以获取新数据。在Chrome中它运行良好,但在IE11中却不起作用。奇怪的是,当我使用IE11时,如果开启Fiddler来查看请求是否被发送出去,我发现只有在开启了开发工具窗口时,请求才会被发送,并且我的应用程序才能正常工作,但如果我不打开开发控制台,则请求甚至不会被发出,至少这是Fiddler向我展示的情况。
    poller.get(myResourceService, { action: 'get',
                  argumentsArray: [{
                    id: $stateParams.id
                  }],
                  delay: '2000',
                  smart:true })
  .promise.then(null, null, function(result) {
    $scope.details= result;
  });

以上是我在控制器中的代码。这真是一个令人恼火的问题,我花了几个小时来解决它。所以,任何帮助都将不胜感激。

干杯

1个回答

4

我发现IE浏览器会缓存AJAX的调用,但是当你使用Fiddler/Development工具时,它的表现会有所不同,它不会缓存AJAX的调用。为了解决这个问题,我通常在响应头中添加Cache-Control头,并将其填充为“no-cache”。

查看此链接以获取更多详细信息:如何控制跨所有浏览器的网页缓存?


谢谢,我发现我们的后端没有指定无缓存响应头,然后我添加了它,现在应用程序在IE11中运行良好。再次感谢。 - loveNZ

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接