问题:XMLHttpRequest - 处理服务器连接丢失

时间:2008-12-18 08:43:11

标签: javascript xmlhttprequest

如何处理使用XMLHttpRequest向服务器发出同步请求并且服务器不可用的场景?

xmlhttp.open("POST","Page.aspx",false);
xmlhttp.send(null);

现在这种情况导致JavaScript错误: “系统无法找到指定的资源”

3 个答案:

答案 0 :(得分:3)

好的,我通过使用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');
       }       

答案 1 :(得分:2)

尝试超时属性。

xmlHTTP.TimeOut= 2000 

答案 2 :(得分:1)

您没有检查正确返回的状态。你给你的代码正在做一个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);