如何处理使用XMLHttpRequest向服务器发出同步请求并且服务器不可用的场景?问题:XMLHttpRequest - 处理服务器连接丢失
xmlhttp.open("POST","Page.aspx",false);
xmlhttp.send(null);
眼下这种情况下会导致成JavaScript错误: “系统找不到指定的资源”
如何处理使用XMLHttpRequest向服务器发出同步请求并且服务器不可用的场景?问题:XMLHttpRequest - 处理服务器连接丢失
xmlhttp.open("POST","Page.aspx",false);
xmlhttp.send(null);
眼下这种情况下会导致成JavaScript错误: “系统找不到指定的资源”
好,我解决它使用的try ... catch周围xmlhttprequest.send
:
xmlhttp.open("POST","Page.aspx",false);
try
{
xmlhttp.send(null);
}
catch(e)
{
alert('there was a problem communicating with the server');
}
尝试超时属性。
xmlHTTP.TimeOut= 2000
我认为这只适用于异步请求,以防发生同步请求。 xmllhttprequest.send会阻塞。我们将不得不使用try..catch,如下所示: – Ngm 2008-12-18 11:43:03
你不检查正常返回的状态。通过你给你的代码做了一个GET请求。 要正确检查请求的状态,你必须为onreadystatechange事件创建事件处理程序,然后它里面检查readyState属性等于4,然后在方法内部如果状态是200
你可以找到详细的解释在这里:Ajax Tutorial by Mozilla
xmlhttp.onreadystatechange=function()
xmlhttp.open("GET","Page.aspx",false);
{
if (xmlhttp.readyState==4)
{
if (xmlhttp.status==200)
{
//Ajax handling logic
}
}
}
xmlhttp.send(null);
http://geekswithblogs.net/lorint/archive/2006/03/07/71625.aspx 继承人做它一个请求的教程。 – 2008-12-18 09:20:20