您现在的位置:首页 >> 前端 >> 内容

onreadystatechange被多次调用的原因

时间:2017/7/27 13:45:53 点击:

  核心提示:onreadystatechange被多次调用的原因在 Ajax 执行过程中,服务器会通知客户端当前的通信状态。这依靠更新 XMLHttpRequest 对象的 readyState 来实现。这句话的...

onreadystatechange被多次调用的原因

在 Ajax 执行过程中,服务器会通知客户端当前的通信状态。这依靠更新 XMLHttpRequest 对象的 readyState 来实现。

这句话的意思就是,只要readyState的值改变,onreadystatechange函数就会被调用。

readyState 属性表示Ajax请求的当前状态。它的值用数字代表。
0 代表未初始化。 还没有调用 open 方法
1 代表正在加载。 open 方法已被调用,但 send 方法还没有被调用
2 代表已加载完毕。send 已被调用。请求已经开始
3 代表交互中。服务器正在发送响应
4 代表完成。响应发送完毕
每次 readyState 值的改变,都会触发 readystatechange 事件。如果把 onreadystatechange 事件处理函数赋给一个函数,那么每次 readyState 值的改变都会引发该函数的执行。
readyState 值的变化会因浏览器的不同而有所差异。但是,当请求结束的时候,每个浏览器都会把 readyState 的值统一设为 4

其实我们可以在代码中测试

//2.设置回调函数
            xmlhttp.onreadystatechange = function() {
                alert(xmlhttp.readyState);
                。。。。
            }

这样的话就可以在浏览器就可以看到readyState的状态的改变

Tags:ON NR RE EA 
作者:网络 来源:Minimum_Ti