Javascript 为什么可以';我不能在IE 9中进行递归$http请求,但我可以在Firefox和Chrome中进行递归$http请求
我有一个函数包装了一个$http请求,成功后再次调用该函数。它在Chrome和Firefox中工作得很好,但在IE中,它在初始请求后不会再发出请求,我在网上和这里搜索了stack overflow,但我无法找到任何有类似问题或任何解决方案的人 以下是我的职能:Javascript 为什么可以';我不能在IE 9中进行递归$http请求,但我可以在Firefox和Chrome中进行递归$http请求,javascript,internet-explorer,angularjs,Javascript,Internet Explorer,Angularjs,我有一个函数包装了一个$http请求,成功后再次调用该函数。它在Chrome和Firefox中工作得很好,但在IE中,它在初始请求后不会再发出请求,我在网上和这里搜索了stack overflow,但我无法找到任何有类似问题或任何解决方案的人 以下是我的职能: var poll = function () { if (parseInt($scope.progress) < 100) { temp = parseInt($scope.progress) + 1;
var poll = function () {
if (parseInt($scope.progress) < 100) {
temp = parseInt($scope.progress) + 1;
$scope.progressPolling();
}
}
$scope.progressPolling = function () {
alert("progressPolling " + i);
i++;
$http.get(url)
.success(function (data, status, headers, config) {
var percent = data.percentage;
alert("percent" + percentage);
if (parseInt($scope.progress) < 100) {
if (percent <= 100) {
$scope.progress = percent;
}
poll();
}
}).error(function (data, status, headers, config) {
alert("An Error Has Occured");
console.log("Error updating Progress: " + data);
});
var poll=函数(){
if(parseInt($scope.progress)<100){
temp=parseInt($scope.progress)+1;
$scope.progressPolling();
}
}
$scope.progressPolling=函数(){
警报(“progressPolling”+i);
i++;
$http.get(url)
.success(函数(数据、状态、标题、配置){
var百分比=数据百分比;
警报(“百分比”+百分比);
if(parseInt($scope.progress)<100){
如果(百分比,感谢Arun Killu和Chandermani指出这可能是缓存请求头
我可以用两种方法解决它
将日期和时间附加到get请求URL以使其唯一
$http.get(url+'?time='+新日期().toString())
使用meta标记:
获取请求获取缓存检查响应的缓存头。如果没有缓存头,那么即使IE也不应该缓存内容。感谢各位,我从来没有想到这是缓存问题