私はこの次のコードを持っています:
$(window).load(function()
{
$('#content1').load('database.php');
setInterval (function()
{
$.post('status.php', { id: '1'}, function(responseText, responseStatus)
{
$('#content2').html(responseText);
});
}, 5000);
});
基本的に、私はdatabase.phpを呼び出してデータベースの挿入を行い、定期的な間隔を使用して進行状況のステータスを取得しています。問題は、挿入中に、インターバルポストがリクエストタイムアウトエラーを表示することです。database.phpの処理が完了すると、content2のテキストが書き込まれます。
今のところ、status.phpファイルで非常に単純なコードを使用しており、database.phpの処理中に応答を取得できるかどうかを確認しています。コードは次のとおりです(非常に単純です)。
<?php
echo "hello";
?>
タイムアウトエラーが発生し、応答がない理由がわかりません。ご覧のとおり、statuse.phpファイルでは、呼び出しをブロックする可能性のあるphpセッション変数を使用していません。面白いことに、データベースの処理が完了すると、応答が返されます。つまり、「hello」というテキストが表示されます。