XMLHttpRequest方法的顺序重要吗?

达尔文工作

这段代码可以正常工作:

function callFromFlex(url, method, payload) {
   console.log("call from Flex: " + method + " " + url + " " + payload);
   var xhttp = new XMLHttpRequest();
   xhttp.open(method, url, true);
   xhttp.setRequestHeader("Content-Type", "application/json");
   xhttp.onreadystatechange = function() {
    console.log(xhttp.readyState);
       if (xhttp.readyState == 4) { 
        console.log("trying to call flash...");
           // Callback to Flash here
           ...  
       }
   };

   xhttp.send(payload);
}

但这不是-永远不会调用onreadystatechange:

function callFromFlex(url, method, payload) {
    console.log("call from Flex: " + method + " " + url + " " + payload);
    var xhttp = new XMLHttpRequest();

    xhttp.setRequestHeader("Content-Type", "application/json");
    xhttp.onreadystatechange = function() {
        console.log(xhttp.readyState);
        if (xhttp.readyState == 4) {    
            console.log("trying to call flash...");
            // Callback to Flash here;
            ... 
        }
    };
    xhttp.open(method, url, true);
    xhttp.send(payload);
}

我只是将xhttp.open(method,url,true)移到另一个位置,并且从未调用过xhttp.onreadystatechange。经过Firefox 45.0.2和IE 11的检查,我相信它与Flash播放器无关。订单不应该影响所有这一切,对吗?

苏贝

方法顺序对于XMLHttpRequest绝对重要。开头描述为open

初始化请求。此方法将在JavaScript代码中使用;要从本机代码初始化请求,请改用openRequest()。

直到open被调用之前,请求尚未完全初始化(这里的分配不是初始化),并且不能保证其他方法可以正常工作。

WhatWG规范中的一些示例来看onreadystatechange应该可以使用,但是我无法想象setRequestHeader会。实际上,在调用setRequestHeader之前open应该抛出InvalidStateError这似乎是

如果状态不是OPENED,则抛出“ InvalidStateError”异常。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

命令顺序重要吗?

来自分类Dev

类中方法声明的顺序对编译器重要吗?

来自分类Dev

自然连接的顺序重要吗

来自分类Dev

Python导入顺序重要吗

来自分类Dev

sscanf的可变顺序重要吗?

来自分类Dev

Java类的顺序重要吗?

来自分类Dev

汇总插件的顺序重要吗?

来自分类Dev

异常处理的顺序重要吗?

来自分类Dev

xargs:选项的顺序重要吗?

来自分类Dev

.zshrc配置,顺序重要吗?

来自分类Dev

标题属性的顺序重要吗?

来自分类Dev

pip卸载的顺序重要吗?

来自分类Dev

URL中命名参数的顺序重要吗?

来自分类Dev

Babel 6预设的顺序重要吗?

来自分类Dev

类/函数顺序在C ++中重要吗?

来自分类Dev

SQL-OR条件的顺序重要吗?

来自分类Dev

SQL更新执行顺序重要吗?

来自分类Dev

订阅和观察的顺序重要吗?

来自分类Dev

性能:SSL信任链顺序重要吗?

来自分类Dev

$和$中的条件顺序重要吗?

来自分类Dev

NIO中事件注册的顺序重要吗?

来自分类Dev

SQL CASE:WHEN语句的顺序重要吗?

来自分类Dev

在POST中,JSON变量的顺序重要吗?

来自分类Dev

构建内核或世界优先的顺序重要吗?

来自分类Dev

SQL:GROUP BY条件的顺序重要吗?

来自分类Dev

mongoldb插入财产顺序重要吗?

来自分类Dev

const,var,out参数的顺序重要吗?

来自分类Dev

在XML中,属性顺序重要吗?

来自分类Dev

DFM文件中的属性顺序重要吗?