長いポーリング手法を使用するアプリを構築していて、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 が待機せず、直後に次の要求を開始するか、最初の適切な応答の後に終了することです。この動作の原因は何ですか?