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が2つあるのですか?

私のブラウザは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 に答える