使用 XMLHttpRequest 时如何处理 JavaScript 中的 "Access to restricted URI denied" 错误?

How do you handle an "Access to restricted URI denied" error in JavaScript when using XMLHttpRequest?

我有以下代码:

var req = new XMLHttpRequest();
req.onload = function(){
    if (req.status === "200"){
        doSomethingWithTheReceivedData();
    }
    else {
        alert("Error msg");
    }
};

然而,当 运行 index.html 直接从我的计算机(当它不是从我的服务器提供服务时)我在 Firefox Web 控制台中得到 "NS_ERROR_DOM_BAD_URI: Access to restricted URI denied" 当然是因为相对脚本尝试访问的路径在我的计算机上不可用(它在我的服务器上)。 现在我想正确处理这个错误,因为当前当用户单击触发此代码的按钮时没有任何反应。我已经添加了状态代码检查,但这似乎无法处理此错误,我假设请求永远不会返回?那么我该如何处理这样的错误呢?

当您 send 请求时使用 try-catch:

try{
  req.send(null);
}catch(e){
 alert(e.message);
}