对象是当今所有 和 应用程序的技术基础。尽管软件经销商
和开源社团现在都在提供各种 框架以进一步简化 对象的使用;但是,
我们仍然很有必要理解这个对象的详细工作机制。
一、 引言
利用一个构建到所有现代浏览器内部的对象来实现发送和接收
请求与响应信息。一个经由 对象发送的 请求并不要求页面中
拥有或回寄一个<>元素。 中的代表了异步,这意味着 对
象的 方法可以立即返回,从而让 页面上的其它 !"!#$% 继续其浏览器
端处理而由服务器处理 请求并发送响应。尽管缺省情况下请求是异步进行的,但是,你
可以选择发送同步请求,这将会暂停其它 页面的处理,直到该页面接收到服务器的响应
为止。
微软在其 &'()&'* 中作为一个 $%" 对象形式引入了
对象。其他的认识到这一对象重要性的浏览器制造商也都纷纷在他们的浏
览器内实现了 对象,但是作为一个本地 !"!#$% 对象而不是作为一个
$%" 对象实现。而如今,在认识到实现这一类型的价值及安全性特征之后,微软已经在其
&'+ 中把 实现为一个窗口对象属性。幸运的是,尽管其实现因而也影响到
调用方式细节不同,但是,所有的浏览器实现都具有类似的功能,并且实质上是相同方法。目
前,,- 组织正在努力进行 对象的标准化,并且已经发行了有关该 ,-
规范的一个草案。
本文将对 对象 & 进行详细讨论,并将解释其所有的属性和方法。
二、 XMLHttpRequest 对象的属性和事件
对象暴露各种属性、方法和事件以便于脚本处理和控制 请求与
响应。下面,我们将对此展开详细的讨论。
!.#! 属性
当 对象把一个 请求发送到服务器时将经历若干种状态:一直等
待直到请求被处理;然后,它才接收一个响应。这样以来,脚本才正确响应各种状态
对象暴露一个描述对象的当前状态的 !.#! 属性,如表格 / 所示。
表格 / 对象的 !.#! 属性值列表。
!.#! 取值 描述
00描述一种未初始化状态;此时,已经创建一个 对象,但是还没有初始
化。
/00描述一种发送状态;此时,代码已经调用了 方法并且
已经准备好把一个请求发送到服务器。
00描述一种发送状态;此时,已经通过 方法把一个请求发送到服务器端,但是还没
有收到一个响应。
评论0