如何使用XMLHttpRequest捕获无效URL引发的错误

时间:2016-10-31 05:50:17

标签: javascript html ajax html5 xmlhttprequest

我对XMLHttpRequest中的JavaScript对象没有太多帮助。我是新手。我已完成了许多jQuery Ajax次调用,但未对XMLHttpRequest对象进行过详细介绍。

我正在编写一本书,他们使用这个对象提供一些示例代码。

以下是本书在尝试处理错误时使用的一些代码。它应该捕获错误URL引发的错误。但我无法通过catch clause

来了解它
var httpRequest = new XMLHttpRequest();
try
{
     httpRequest.open("GET", "http://");
     httpRequest.send();
}
catch (error)
{
     alert("in catch clause");
}

我甚至尝试过无效的网址,但仍然不想进入catch clause

httpRequest.open("GET", "gttp://");

是因为URL是一个有效的URL,它没有抛出异常吗?

1 个答案:

答案 0 :(得分:0)



var helperObj = type.toLowerCase() === "array" ? "items" : "properties";
var newSchema = {
    "title": title,
    "type": type,
};

newSchema[helperObj] = {};




默认的var helperObj = type.toLowerCase() === "array" ? "items" : "properties"; var newSchema = { "title": title, "type": type, [helperObj] : {} }; 方法是异步的,无法在try / catch块中捕获。这是因为即使在open方法完成之前,整个代码也会执行。 var httpRequest = new XMLHttpRequest(); try { httpRequest.open("GET", "http://",false); httpRequest.send(); } catch (error) { alert("in catch clause"); }方法有另一个名为open的可选参数,它是布尔值,默认值为open。将其设置为async将完成工作。如果此值为false,则在收到响应之前,true方法不会返回。