javascript – XMLHttpRequest.open()异常处理

前端之家收集整理的这篇文章主要介绍了javascript – XMLHttpRequest.open()异常处理前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有以下代码(仅相关部分):

xhttp=new XMLHttpRequest();
xhttp.open("GET",doc_name,false);
xhttp.send();
xmlDoc=xhttp.responseXML;
if(xmlDoc==null)
{
   xmlDoc=loadXMLDoc(defaultXml);
}

如果指定的文件不存在,则在加载默认的xml文件时运行正常,但如果文件不存在,则仅在控制台中显示404错误. (此错误不会反映除控制台之外的页面中的任何位置).

我的问题是我应该如何检查此异常&是否有必要添加额外的代码片段,以便在代码运行时检查文件是否存在?

最佳答案
您可以通过xhttp.status访问HTTP响应代码;通常将200(OK)或304(未修改)视为成功请求.

xhttp=new XMLHttpRequest();
xhttp.open("GET",false);
xhttp.send();

if (xhttp.status === 200 || xhttp.status === 304) {
    xmlDoc=xhttp.responseXML;
    if(xmlDoc==null)
    {
       xmlDoc=loadXMLDoc(defaultXml);
    }
}

确保你首先使用var声明你的变量,否则你会有隐式全局变量,这是坏的.

同时确保你有充分的理由同步这样做;同步XHR在请求待处理时锁定浏览器.强烈建议将其设为异步.

对于你的问题的第二部分,没有问题,所以永远都没有;只要您的应用可以处理异常. (这似乎做)

猜你在找的JavaScript相关文章