5

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

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

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

4

3 回答 3

3

好的,我通过使用 try...catch around xmlhttprequest.send 解决了它

xmlhttp.open("POST","Page.aspx",false);              
       try
       {
       xmlhttp.send(null);
       }
       catch(e)
       {
            alert('there was a problem communicating with the server');
       }       
于 2008-12-18T11:41:36.417 回答
2

尝试超时属性。

xmlHTTP.TimeOut= 2000 
于 2008-12-18T09:14:35.357 回答
1

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

您可以在此处找到详细说明:Mozilla 的 Ajax 教程

  
xmlhttp.onreadystatechange=function()

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



于 2008-12-18T13:39:52.963 回答