0

タスクの達成率を読み取るために 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などでうまく動かそうとしました。

ご回答ありがとうございます。

4

1 に答える 1

1

IE がリモート リクエストをキャッシュしていて、毎回同じコールバックをすぐに起動している可能性があります。一意のクエリ文字列パラメーターをリクエストに追加してみて、それが機能するかどうかを確認してください。

$.getJSON("getProcess.php", { "id": id, "_nocache", new Date().getTime() }, function(data) {
  // Process data
});
于 2012-11-02T14:42:14.450 に答える