4
<div id="myDiv"></div>
<script>                    
    var xmlhttp = new XMLHttpRequest();
    document.getElementById("myDiv").innerHTML += xmlhttp.readyState + "<br/>";
    xmlhttp.onreadystatechange = function() {
        document.getElementById("myDiv").innerHTML += xmlhttp.readyState + "<br/>";
    }
    xmlhttp.open("GET", "example.com", true);
    xmlhttp.send();
</script>

我得到这个显示:

0
1
1
2
3
4

为什么有两个1?

我的浏览器是firefox 17.0。

4

1 回答 1

1

为 XML HTTP 对象定义了就绪状态:https ://developer.mozilla.org/en-US/docs/DOM/XMLHttpRequest#Properties 。

但是每个浏览器的就绪状态序列似乎都不同,因此您不能依赖代码中的特定状态序列。

FF 19: 0, 1, 1, 2, 3, 4

Chrome 24: 0, 1, 2, 3, 4

Opera 12.12: 0, 1, 2, 3, 4

Safari 5.1: 0, 1, 2, 3, 4

IE 9: 0, 1, 1, 2, 3, 4

您可以在这里测试您的浏览器。

于 2013-01-22T03:48:54.133 回答