我对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,它没有抛出异常吗?
答案 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
方法不会返回。