【发布时间】:2015-10-08 03:15:28
【问题描述】:
我有以下代码:
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:访问受限 URI 被拒绝”,因为脚本的相对路径正在尝试访问在我的计算机上不可用(它在我的服务器上)。 现在我想正确处理此错误,因为当前当用户单击触发此代码的按钮时,没有任何反应。我已经添加了状态代码检查,但这似乎不适用于处理此错误,我假设永远不会返回请求?那么如何处理这样的错误呢?
【问题讨论】:
-
XHR 对 *file:\* 协议的调用受到限制。您需要在服务器上运行它。
-
@TaoP.R.问题似乎是关于处理这些错误,而不是阻止它们
-
那么有没有办法处理这个错误呢?因为此代码是我的应用程序中可选功能的一部分,仅当用户从服务器使用它时才有效。用户还可以离线使用该应用程序(只需下载包含所有必要文件的 zip 存档,除了此可选功能外,它完全是客户端)。所以我想在用户离线使用应用程序时优雅地处理这个错误。
-
@Dr.Molle 不幸的是这也没有用:(
标签: javascript error-handling xmlhttprequest xmlhttprequest-level2