【发布时间】:2011-10-31 17:03:00
【问题描述】:
在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();
}
【问题讨论】:
-
我怀疑同步请求是否可行,因为 JavaScript 是单线程的。
标签: php javascript ajax xmlhttprequest