gpt4 book ai didi

javascript - XMLHttpRequest.open() 异常处理

转载 作者:搜寻专家 更新时间:2023-11-01 04:19:26 25 4
gpt4 key购买 nike

我有以下一段代码(只有相关部分):

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

如果指定的文件不存在,当我加载默认的 xml 文件时,这运行正常,但如果文件不存在,则仅在控制台中显示 404 错误。 (此错误不会反射(reflect)在页面中除控制台外的任何地方)。

我的问题是我应该如何检查这个异常&是否有必要添加一段额外的代码来在代码运行时检查文件是否存在?

最佳答案

可以通过xhttp.status获取HTTP响应码; 200(确定)或 304(未修改)通常被视为成功请求。

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

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

确保您首先使用 var 声明您的变量,否则您将拥有隐式全局变量,这是不好的。

还要确保您有充分的理由同步执行此操作;同步 XHR 在请求挂起时锁定浏览器。 强烈建议将其设置为异步。

对于你问题的第二部分,没有任何问题;只要您的应用程序可以处理异常。 (这似乎是这样做的)

关于javascript - XMLHttpRequest.open() 异常处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10596874/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com