Javascript 问题:XMLHttpRequest-句柄服务器连接丢失
如何处理使用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
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);