javascript - Wtf IE7 - 使用 setTimeout 的 AJAX 调用

标签 javascript jquery ajax internet-explorer

我已经在 Firefox、Opera 和 Seamonkey 上对此进行了测试。效果很好。当谈到 Internet Explorer 7 时,它可以工作,但只能达到一定程度。我每隔几秒就会对 PHP 脚本进行一次 AJAX 调用。在 IE7 中,它进行第一个 AJAX 调用并检索数据,但它不会再这样做。即使我在 else block 中有一个 setTimeout 函数。 为什么? :(

startTime = setTimeout('getStatus()', 5000); 

}//function convertNow

函数 getStatus() {

    $.ajax({
    type: "GET",
    url: "fileReader.php",
    data: 'textFile=' + fileNameTxt,
    success: function(respomse){
    textFileResponse = respomse.split(" ");
    $("#done").html("Downloading & Converting Video...<b style='font-size:17px;color:green;'>" + textFileResponse[0] + "</b><br /><b>" + properFileName + '</b>');
    }
    });//ajax

    if(textFileResponse[0]=='100.0%'){

    }
    else{       
    continueTime = setTimeout('getStatus();', 3000); 
        alert('call end');
    }

}

如果这个问题让您感到沮丧,我们深表歉意。在过去的三个小时里我一直像 headless 苍蝇一样到处乱跑。

感谢您的帮助。

编辑2

我已经添加了完整的功能。 setTimeout 似乎工作正常。它一定是 AJAX 调用,我只是检查返回的内容。更陌生了!它不断从 AJAX 请求返回相同的值,并且没有获得任何更新的值!我认为答案 2 可能有问题。这可能是由于缓存所致,但您如何解决这个问题?

最佳答案

您是否通过 HTTP GET 请求 ajax 调用,而不是 HTTP POST? IE 倾向于使用 ajax 调用的缓存结果,除非您使用 POST 而不是 GET。

编辑:既然您更新了您的问题,我可以看到您确实在使用 GET 动词。将其更改为 POST,我打赌您的问题将会得到解决。

关于javascript - Wtf IE7 - 使用 setTimeout 的 AJAX 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/592830/

相关文章:

javascript - 如何更改 bootstrap-datetimepicker 中按钮的默认操作?

php - 如何在 woocommerce ajax add_to_cart 之后运行我的自定义 ajax?

php - mysql看不见进程?

javascript - 为什么在给定的代码中出现错误 "listen EACCESS localhost ",具体是什么意思?

javascript - react : Delay rendering of JSON data?

javascript - 使用 jQuery 添加 div block 元素

java - Wicket 动态 ListView - 默认项目不会通过 Ajax 更新

jquery - 我在一项考试中遇到 ajax 调用问题

javascript - 我将如何为此 JQuery 事件添加延迟?

javascript - 使用 Javascript 正则表达式进行表单验证?