如何处理使用XMLHttpRequest向服务器发出同步请求并且服务器不可用的场景?
xmlhttp.open("POST","Page.aspx",false);
xmlhttp.send(null);
现在这种情况导致JavaScript错误: “系统无法找到指定的资源”
答案 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);