`
kang
  • 浏览: 474471 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

全面剖析XMLHttpRequest对象(1)

阅读更多

2006-11-27 09:31 作者: 朱先忠 编译 天极 编辑 > 方舟

 

http://dev.yesky.com/91/2687091.shtml

 

XMLHttpRequest 象是当今所有 AJAX Web 2.0 用程序的技 。尽管 经销 商和 源社 团现 在都在提供各 AJAX 框架以 步简 XMLHttpRequest 象的使用;但是,我 仍然很有必要理解 象的 详细 工作机制。

  一、 引言

   异 JavaScript XML(AJAX) 是一个 术语 ,用于 实现 在客 端脚本与服 器之 的数据交互 程。 一技 点在于,它向 开发 者提供 了一 Web 索数据而不必把用 当前正在 察的 面回 馈给 器。与 浏览 器的通 存取 浏览 DOM 构的 程代 (JavaScript) 动态 地改 示内容的支持相配合, AJAX 让开发 者在 浏览 器端更新被 示的 HTML 内容而不必刷新 面。 话说 AJAX 可以使基于 浏览 器的 用程序 更具交互性而且更 传统 型桌面 用程序。

   Google Gmail Outlook Express 就是两个使用 AJAX 的我 所熟悉的例子。而且, AJAX 可以用于任何客 端脚本 言中, 包括 JavaScript Jscript VBScript

    AJAX 利用一个构建到所有 浏览 器内部的 -XMLHttpRequest- 实现发 送和接收 HTTP 求与响 信息。一个 XMLHttpRequest 送的 HTTP 求并不要求 面中 有或回寄一个< form >元素。 AJAX 中的 "A" 代表了 " " 意味着 XMLHttpRequest 象的 send() 方法可以立即返回,从而 Web 面上的其它 HTML/JavaScript 继续 浏览 器端 理而由服 HTTP 求并 送响 。尽管缺省情况下 求是异 步进 行的,但是,你可以 选择发 送同 步请 求, 将会 停其它 Web 面的 理,直到 该页 面接收到服 器的响 应为 止。

  微 在其 Internet Explorer(IE) 5 中作 一个 ActiveX 象形式引入了 XMLHttpRequest 象。其他的 认识 象重要性的 浏览 器制造商也都 纷纷 在他 浏览 器内 实现 XMLHttpRequest 象,但是作 一个本地 JavaScript 象而不是作 一个 ActiveX 实现 。而如今,在 认识 实现这 型的价 及安全性特征之后,微 在其 IE 7 中把 XMLHttpRequest 实现为 一个窗口 象属性。幸运的是,尽管其 实现 ( 因而也影响到 用方式 ) 细节 不同,但是,所有的 浏览 实现 都具有 的功能,并且 实质 上是相同方法。目前, W3C 组织 正在努力 XMLHttpRequest 象的 准化,并且已 经发 行了有 关该 W3C 范的一个草案。

  本文将 XMLHttpRequest API 详细讨论 ,并将解 其所有的属性和方法。

  二、 XMLHttpRequest 象的属性和事件

   XMLHttpRequest 象暴露各 属性、方法和事件以便于脚本 理和控制 HTTP 求与响 。下面,我 此展 开详细 讨论
readyState
属性

   当 XMLHttpRequest 象把一个 HTTP 送到服 经历 若干 :一直等待直到 求被 理;然后,它才接收一个响 这样 以来, 脚本才正确响 -XMLHttpRequest 象暴露一个描述 象的当前状 readyState 属性,如表格 1 所示。

   表格 1.XMLHttpRequest 象的 ReadyState属性 列表。

ReadyState

描述

0

描述一 " 未初始化 " ;此 ,已 经创 建一个 XMLHttpRequest 象,但是 没有初始化。

1

描述一 " " ;此 ,代 经调 用了 XMLHttpRequest open()方法并且 XMLHttpRequest 好把一个 送到服 器。

2

描述一 " " ;此 ,已 send() 方法把一个 送到服 器端,但是 没有收到一个响

3

描述一 " 正在接收 " ;此 ,已 接收到 HTTP 应头 部信息,但是消息体部分 没有完全接收 束。

4

描述一 " 已加 " ;此 ,响 被完全接收。


   onreadystatechange事件

   无 readyState 时发 生改 XMLHttpRequest 象都会激 一个 readystatechange事件。其 中, onreadystatechange属性接收一个 EventListener - 方法指示无 readyState 时发 生改 该对 象都将 激活。

   responseText属性

   responseText属性包含客 端接收到的 HTTP 的文本内 容。当 readyState值为 0 1 2 responseText包含一个空字符串。当 readyState值为 3(正在接收 ) ,响 中包含客 未完成的响 信息。当 readyState 4(已加 ) responseText包含完整的响 信息。

   responseXML属性

   此 responseXML属性用于当接收到完整的 HTTP 应时 (readyState 4)描述 XML ;此 Content-Type 指定 MIME(媒体 ) text/xml application/xml或以 +xml 尾。如果 Content-Type 部并不包含 些媒体 型之 一,那 responseXML 值为 null。无 ,只要 readyState 4,那 么该 responseXML null

   responseXML 属性 是一个文档接口 型的 象,用来描述被分析的文档。如果文档不能被分析 ( 例如,如果文档不是良构的或不支持文档相 的字符 编码 ) ,那 responseXML null

   status 属性

   status 属性描述了 HTTP ,而且其 short 。而且, readyState 值为 3( 正在接收中 ) 4( 已加 ) status 属性才可用。当 readyState 小于 3 时试图 存取 status 将引 一个异常。

   statusText 属性

   statusText 属性描述了 HTTP 文本;并且 readyState 值为 3 4 才可用。 readyState 其它 值时试图 存取 statusText属性将引 一个异常

 

 

分享到:
评论

相关推荐

    全面剖析XMLHttpRequest对象.doc

    ### 全面剖析XMLHttpRequest对象 #### 引言:AJAX与XMLHttpRequest的革命 XMLHttpRequest对象是现代网络开发中不可或缺的一部分,它是AJAX(Asynchronous JavaScript and XML)技术的核心,使得网页能够在不重新...

    全面剖析XMLHttpRequest对象

    ### 全面剖析XMLHttpRequest对象 #### 引言 随着互联网技术的发展,用户对Web应用的需求日益增长。其中,异步JavaScript与XML(AJAX)技术作为一种新兴的技术手段,在实现客户端脚本与服务器之间高效、无缝的数据...

    全面剖析XMLHttpRequest对象.txt

    ### 全面剖析XMLHttpRequest对象 #### 一、XMLHttpRequest对象简介 XMLHttpRequest是一个非常重要的JavaScript对象,它允许网页向服务器发起异步请求并处理响应数据。这种技术是实现Ajax(Asynchronous JavaScript...

    全面剖析 Ajax XMLHttpRequest对象

    XMLHttpRequest对象是Ajax技术的核心,它是现代Web应用中用于实现客户端与服务器间异步数据交换的关键组件。在不刷新整个页面的情况下,XMLHttpRequest允许开发者通过JavaScript动态更新网页内容,极大地提升了用户...

    全面剖析Ajax的XMLHttpRequest对象.doc

    表格 1.XMLHttpRequest 对象的 ReadyState 属性值列表 | ReadyState 取值 | 描述 | | --- | --- | | 0 | 未初始化状态 | | 1 | 发送状态 | | 2 | 发送状态 | | 3 | 正在接收状态 | | 4 | 已加载状态 | 2. ...

    全面剖析xmlhttprequest

    ### 全面剖析XMLHttpRequest XMLHttpRequest是一种在浏览器端实现异步数据请求的关键技术,它为Web应用提供了更丰富的交互体验。本文将深入探讨XMLHttpRequest的相关知识点,包括其工作原理、状态管理以及如何通过...

    javascript XMLHttpRequest对象全面剖析

    AJAX最大的特点就是其"异步"性,这意味着当XMLHttpRequest对象的send()方法被调用时,它会立即返回,允许浏览器继续执行其他操作,比如处理用户输入或更新页面的显示,而不会被阻塞等待服务器的响应。这样一来,页面...

    JS XMLHttpRequest原理与使用方法深入详解

    接下来,文章通过结合实例的形式,深入剖析了XMLHttpRequest对象的工作原理以及如何在实际开发中有效地使用它。 首先,文章对Ajax和XMLHttpRequest这两个概念进行了区分。Ajax并不是一种新技术,而是依赖于已有的...

    ajax超详细资料,包你学会

    1. **初始化XMLHttpRequest对象**:首先创建XMLHttpRequest对象实例。 2. **打开连接**:使用open()方法指定请求类型(GET、POST等)、URL和是否异步执行。 3. **设置请求头**:如果需要发送数据,可以设置请求头...

    掌握AJAX 真正详解

    值得注意的是,正是通过XMLHttpRequest对象,JavaScript得以与服务器进行异步通信,这也是AJAX技术之所以强大的关键所在。 #### 五、AJAX的优势 1. **提升用户体验**:通过局部更新页面内容,减少了页面加载时间,...

    [js]轻便的XMLHttpRequest应用函数:downloadUrl()

    这个函数利用了浏览器内置的 `XMLHttpRequest` 对象或在旧版本的 Internet Explorer 中使用的 ActiveXObject 来实现异步通信。以下是关于 `downloadUrl()` 函数的详细解释: 1. **参数说明**: - `url`:必填参数...

    javaweb资料(非常全面)

    Ajax技术部分,详细剖析了XMLHttpRequest对象,以及如何使用POST和GET方法提交Ajax请求。Ajax技术是实现Web页面异步交互的关键。 jQuery部分,介绍了jQuery的入门使用,包括jQuery的选择器、对象转换以及事件处理。...

Global site tag (gtag.js) - Google Analytics