В XMLHTTPRequest
как использовать условие тайм-аута, при котором если сервер не отвечает в течение фиксированного промежутка времени (скажем, 5 секунд), то на нем должно отображаться сообщение об ошибке?
Другими словами, запрос должен ждать 5 секунд, если от сервера нет ответа, то должно появиться сообщение «Тайм-аут. Пожалуйста, повторите попытку позже».Было бы лучше, если бы код мог работать как для синхронного, так и для асинхронного.
Следующий код, который я использую без условия тайм-аута.
function testXMLHTTP()
{
if(window.XMLHttpRequest)
{
xmlhttp = new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
else if(xmlhttp.readyState < 4)
{
document.getElementById("myDiv").innerHTML="Loading...";
}
}
xmlhttp.open("GET","abcd.php",true);
xmlhttp.send();
}