Javascript 在XMLHttpRequest中,错误标志变量在哪里?
在报告中说: “完成”状态有关联的错误 指示某种类型的 网络错误或流产。可能是 正确或错误,并且具有 初始值为false 还表示“打开”状态下的“send()标志”类似 规范中提到了这一点,但IDL中没有,当我创建一个新的XMLHttpRequest时,我找不到这些“标志”Javascript 在XMLHttpRequest中,错误标志变量在哪里?,javascript,w3c,xmlhttprequest,Javascript,W3c,Xmlhttprequest,在报告中说: “完成”状态有关联的错误 指示某种类型的 网络错误或流产。可能是 正确或错误,并且具有 初始值为false 还表示“打开”状态下的“send()标志”类似 规范中提到了这一点,但IDL中没有,当我创建一个新的XMLHttpRequest时,我找不到这些“标志” 那些布尔变量在哪里 您要查找的是XMLHttpRequest.readyState属性 从您给出的规范中,您将看到所有这些“布尔”标志实际上都是数值 未发送(数字0) 打开(数字1) 收到的标题(数字2) 加载(数字3)
那些布尔变量在哪里 您要查找的是
XMLHttpRequest.readyState
属性
从您给出的规范中,您将看到所有这些“布尔”标志实际上都是数值
- 未发送(数字0)
- 打开(数字1)
- 收到的标题(数字2)
- 加载(数字3)
- 完成(数字4)
//In Javascript
var request = new XMLHttpRequest();
if (request) {
request.onreadystatechange = function() {
if (request.readyState == 4) { //Numeric 4 means DONE
}
};
request.open("GET", URL + variables, true); //(true means asynchronous call, false otherwise)
request.send(""); //The function that executes sends your request to server using the XMLHttpRequest.
}
请记住,在调用XMLHttpRequest.send()
方法(如果您决定进行异步调用)之前,请始终编写onreadystatechange
事件。此外,异步调用将调用XMLHttpRequest.onreadystatechange
事件侦听器,因此实现它总是至关重要的
有关这些标志的更多信息,请参阅webapps电子邮件列表,内容如下:
作者可以使用的一切都是
在Web IDL片段中表示。
除此之外的一切都代表
需要某种类型的数据实现
以这样或那样的方式保持
正确执行规范
(这是我的疑问)我听说XHR编辑器说规范中引用的错误标志是消费者无法访问的内部实现变量
“send()”标志的处理方法也是一样。您为什么要在这么低的级别上工作?当然jquery或类似的工具会给你更好的结果。@Byron Whitlock,jquery ajax只是ajax调用的包装器,我同意,它会给你更好的错误结果。你们都是对的,最后我会使用jquery,我甚至不需要使用那些“标志”但是我想知道底层发生了什么,尽管我最终将使用jQuery for all.+1来说明在调用send之前必须定义onreadystatechange。常见的陷阱。感谢您提供的信息,它整洁而清晰。我知道这一点,我想知道的是,如果你可以直接访问对象中的那些“标志”,我想知道的更多的是确定性而不是适用性(我知道这是一种无用的东西)。对不起,我的问题不清楚。我还写信给w3c webapps电子邮件列表,我会把它写在一个新的答案上。谢谢,我不久前写信给编辑,得到了答案,这就是你写的。很抱歉,我没有将这个答案标记为已接受的答案。