我正在创建一个JSon jQuery调用程序来读取任务的完成百分比。
我只需调用返回百分比的getProcess.php:{"error":0,"percent":21.1}
这是我的jQuery代码:
$(function(){
runGetPercent(01); // 01 is an id I need in my PHP script
});
function runGetPercent(id){
$.getJSON("getProcess.php", // PHP script I call
{"id": id}, // id parameter
function(data){
if (data.error == 0)
{
$("#percent").html(data.percent); // updating percentage
}
else {
$("#percent").html("Error!"); // report error
}
if (data.percent < 100) {
runGetPercent(id); // loop until process is running
}
});
}
这就像Firefox 16上的魅力一样。
我需要在IE8上运行的代码,以便与许多用户兼容,但浏览器冻结......
我错过了什么吗?
我尝试使用setTimeout和类似的东西来处理它。
感谢您的回答!
答案 0 :(得分:1)
IE可能会缓存远程请求,并且每次都会立即触发相同的回调。尝试在您的请求中添加一个唯一的查询字符串参数,看看它是否有效。
$.getJSON("getProcess.php", { "id": id, "_nocache", new Date().getTime() }, function(data) {
// Process data
});