Javascript 问题:XMLHttpRequest-句柄服务器连接丢失

Javascript 问题:XMLHttpRequest-句柄服务器连接丢失,javascript,xmlhttprequest,Javascript,Xmlhttprequest,如何处理使用XMLHttpRequest向服务器发出同步请求而服务器不可用的情况 xmlhttp.open("POST","Page.aspx",false); xmlhttp.send(null); 现在,此场景会导致JavaScript错误: “系统找不到指定的资源”请尝试timeout属性 xmlHTTP.TimeOut= 2000 好的,我使用try…catch绕过xmlhttprequest.send解决了这个问题 : 您没有检查正确返回的状态。根据您提供的代码,您正在执行GET

如何处理使用XMLHttpRequest向服务器发出同步请求而服务器不可用的情况

xmlhttp.open("POST","Page.aspx",false);
xmlhttp.send(null);
现在,此场景会导致JavaScript错误:
“系统找不到指定的资源”

请尝试timeout属性

xmlHTTP.TimeOut= 2000 

好的,我使用try…catch绕过xmlhttprequest.send解决了这个问题

:


您没有检查正确返回的状态。根据您提供的代码,您正在执行GET请求。 要正确检查请求的状态,必须为onreadystatechange事件创建一个事件处理程序,然后在其中检查readyState属性是否等于4,如果状态为200,则在方法内部检查

您可以在此处找到详细说明:


这里有一个针对单个请求的教程。我认为这只适用于异步请求,在同步请求的情况下。xmllhttprequest.send将被阻止。我们必须使用try..catch,如下所述:
xmlhttp.open("POST","Page.aspx",false);              
       try
       {
       xmlhttp.send(null);
       }
       catch(e)
       {
            alert('there was a problem communicating with the server');
       }       
 
xmlhttp.onreadystatechange=function()

xmlhttp.open("GET","Page.aspx",false);
{
  if (xmlhttp.readyState==4) 
  {
     if (xmlhttp.status==200)
     {
       //Ajax handling logic
     }
  }
}
xmlhttp.send(null);