Quizá te sirva algo como esto (no es lo mismo, pero lanza una alerta en caso de que no haya una respuesta correcta pasados 10 segundos):
Código PHP:
function requestCallbackParamUnicode(url,callback,params){
var H=new http();
if(!H)return;
H.open('post',url+'?'+new Date().getTime(),true);
var xmlHttpTimeout=setTimeout(function(){
if($('aguarde')){
$('aguarde').innerHTML='Server Error';//acá lanzo el error
}
H.onreadystatechange=function(){}
H.abort();
H=null;
},10000);
H.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
H.onreadystatechange=function(){
if(H.readyState==4 && H.status == 200){
clearTimeout(xmlHttpTimeout);
callback(H.responseText);
H.onreadystatechange=function(){}
H.abort();
H=null;
}
}
var p='';
for(var i in params){
p+='&'+i+'='+encodeURIComponent(params[i]);
}
H.send(p);
}