站内搜索:
首页 >> 前端 >> 内容
onreadystatechange被多次调用的原因

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

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的状态的改变

  • 上一篇:关于metasploit下连接数据库问题
  • 下一篇:3d转换(立方体旋转效果)
  • 返回顶部