1

長いポーリング手法を使用するアプリを構築していて、IE8 で問題が発生しています。

だからここに私が使用する簡略化されたコードがあります:

php:

 $time = time();
    while((time() - $time) < 10) {
        $data = rand(0,10);    
        // if we have new data return it
        if($data == 3 || $data == 6) {
            echo json_encode($data);
            break;
        }
            sleep(1);
        }

js:

var lpOnComplete = function(response) {
        alert(response);
        // do more processing
        lpStart();
    };

    var lpStart = function() {
        $.post('http://example.com/test', {}, lpOnComplete, 'json');
    };

    $(document).ready(lpStart);

問題は、サーバーが応答するまで IE8 が待機せず、直後に次の要求を開始するか、最初の適切な応答の後に終了することです。この動作の原因は何ですか?

4

1 に答える 1

1

これはトリックを行うように見えました。

$.ajaxSetup ({
   cache: false
});
于 2012-07-27T11:33:28.483 に答える