2012-11-02 77 views
0

我創建了JSon jQuery調用者來讀取任務的成就百分比。功能與jQuery遞歸 - IE兼容性

我只是叫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

你試過runGetPercent(「01」); ? –

+0

您是否嘗試在匿名函數上設置斷點並遍歷它? – slashingweapon

+0

@roasted:是的,與IE – Dough

回答

1

機會是IE緩存遠程請求,並立即發射相同的回調,每次。嘗試添加一個唯一的querystring參數給你的請求,看看是否有效。

$.getJSON("getProcess.php", { "id": id, "_nocache", new Date().getTime() }, function(data) { 
    // Process data 
}); 
+0

相同的問題,做到了! 非常感謝這個修復:D – Dough