在XMLHttpRequest Spec中它说:
DONE状态有一个相关的错误 表示某种类型的标志 网络错误或堕胎。有可能 无论是真还是假,都有 初始值为false。
在“打开”状态下也说出类似“send()标志”的内容。
在规范中说但在IDL中没有,当我创建新的XMLHttpRequest时,我找不到那些“标志”。
那些布尔变量在哪里?
答案 0 :(得分:5)
您正在寻找XMLHttpRequest.readyState
属性。
根据您给出的规范,您将看到所有这些“布尔”标志实际上都是数值。
这些值是XMLHttpRequest.onreadystatechange
事件处理程序的结果。
基本上,为了获得这些价值,做一些这样的效果。
//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.
}
请记住,始终写onreadystatechange
事件 BEFORE 调用XMLHttpRequest.send()
方法(如果您决定进行异步调用)。此外,异步调用将调用XMLHttpRequest.onreadystatechange
事件侦听器,因此实现这一点始终至关重要。
答案 1 :(得分:4)
我听说XHR编辑器说规范中引用的错误标志是消费者无法访问的内部实现变量。
与“send()”标志相同。
答案 2 :(得分:3)
我wrote到关于这些标志的webapps电子邮件列表,这就是they responded:
作者可以使用的一切都是 在Web IDL片段中表达。 除此之外的一切都代表着 某种数据实现需要 保持这种或那种方式 正确实施规范。
(这是我的疑问)