在XMLHttpRequest中,错误标志变量在哪里?

时间:2010-03-22 22:40:28

标签: javascript w3c xmlhttprequest

XMLHttpRequest Spec中它说:

  

DONE状态有一个相关的错误   表示某种类型的标志   网络错误或堕胎。有可能   无论是真还是假,都有   初始值为false。

在“打开”状态下也说出类似“send()标志”的内容。

在规范中说但在IDL中没有,当我创建新的XMLHttpRequest时,我找不到那些“标志”。

那些布尔变量在哪里?

3 个答案:

答案 0 :(得分:5)

您正在寻找XMLHttpRequest.readyState属性。

根据您给出的规范,您将看到所有这些“布尔”标志实际上都是数值。

  • UNSENT (数字0)
  • 已打开(数字1)
  • HEADERS_RECEIVED (数字2)
  • 加载(数字3)
  • 完成(数字4)

这些值是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事件侦听器,因此实现这一点始终至关重要。

有关Wikipedia

的更多信息

答案 1 :(得分:4)

我听说XHR编辑器说规范中引用的错误标志是消费者无法访问的内部实现变量。

与“send()”标志相同。

答案 2 :(得分:3)

wrote到关于这些标志的webapps电子邮件列表,这就是they responded

  

作者可以使用的一切都是   在Web IDL片段中表达。   除此之外的一切都代表着   某种数据实现需要   保持这种或那种方式   正确实施规范。

(这是我的疑问)