昨天做了一个使用ajax从服务器端获取时间而不需要刷新页面的例子。 当时我对物体的最后三种状态还不是很清楚。 想了半天还是不明白! 后来我在程序中的不同地方使用alert(.)来检查值的变化,经过咨询朋友,我弄清楚了几个问题:创建对象后,调用open之前值为0,但是调用open之后(),就变成1了,此时函数和open()几乎同时执行。 后面调用send方法后,函数中的值还是1,而调用send方法后应该有2、3、4三种状态,用alert语句只能观察到这3个值在函数中! 为什么是这样? 这是因为在函数中解析send语句时,并没有真正开始send执行。 只有执行send后,才能在函数中观察到状态值的变化。 它不是发送状态,而是准备发送状态。 可以把它想象成一句口号,比如“人炮第一级准备好,第二级准备好,发布”。 这不是一个发送自身的请求。 同时,它也不监控服务器信息。 它只是获取发送时服务器返回的状态信息。 这只是一次。 监控始终是观察状态。 至此,我心中的疑惑全部解开了!
这五种状态总结如下:
状态 状态说明
(0) 未初始化