微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 为什么当我使用XMLHttpRequest发送GET请求时,我得到两个readyState 1?

<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.

解决方法:

为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

您可以测试浏览器here.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐