PHPコードを実行するページにajaxリクエストを行ったとしましょう。ページは(flush()メソッドなどを使用して)一部のデータを出力しますが、30秒のタイムアウトまたはその他のエラーのため、phpリクエストは終了します。
リクエストが終了したら、クライアント側でそれを確認して、リクエストを再開したいと思います。
つまり、私がこのようなものを持っているとしましょう
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==3 && xmlhttp.status==200){
document.getElementById("A").innerHTML=xmlhttp.responseText;
}
else if(xmlhttp.readyState==4 && xmlhttp.status==200){
document.getElementById("A").innerHTML=xmlhttp.responseText;
//plus some additional code to end the process
}
else if(xmlhttp.status== SOMETHING /*WHAT DO I ADD HERE TO KNOW THAT THE SERVER HAS TIMED OUT OR SOMETHING SO I CAN RESTART THE XMLHTTP CYCLE */){
//code to resend xmlhttp request.
}
}