`
walsh
  • 浏览: 429515 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

揭开AJAX神秘面纱

阅读更多
    AJAX,即"Asynchronous JavaScript And XML"的缩写,可翻译为异步JavaScript及XML技术。其核心是一个寄宿在浏览器中名为XMLHTTPRequest的类。通过此类,可以做到无需提交表单就可以实现与服务器的连接;无需刷新整个页面,就可以动态更新页面中一部分的内容。XMLHTTPRequest通常使用XML作为数据交换的载体,但也可使用其他的载体,如纯文本。简单来说,就是通过XMLHTTPRequest发送信息给服务器,异步接收服务器处理并返回信息,然后通过JavaScript动态更新页面的部分内容。
尽管AJAX近来非常火爆,但AJAX并非新的技术,正如其名所示,只不过是JavaScript加上XML的技术罢了。而且使用上非常简单。
应用AJAX的流程:

  • 1、定义一个事件处理器
  • 2、获取XMLHTTPRequest,并将事件处理器注册给它
  • 3、与服务器连接
  • 4、发送信息
  • 5、服务器返回处理完毕的信息
  • 6、每当XMLHTTPRequest的状态发生变化,自动触发事件处理器
  • 7、事件处理器动态更新页面


1、定义事件处理器
readyState属性用来判断服务器返回信息的状态。其值是一个从0至4的整数,对应于:

0:对象已创建,但未初始化(未调用open()方法)
1:对象已创建,但未调用send()方法
2:已调用send()方法,但status及headers还未可用
3:已经传回部分数据,但status及headers还未完全可用
4:已经收到所有数据,可使用所有数据
2、获取XMLHTTPRequest,并将事件处理器注册给它
注意:要使用XMLHTTPRequest,需要IE5.0以上的版本。
2.1 取得XMLHTTPRequest
在IE7.0之前获得XMLHTTPRequest,使用如下代码:
if (window.ActiveXObject) { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); }
而在IE7.0中:
if (window.XMLHttpRequest) { xmlHttp = new XMLHttpRequest }
2.2 注册事件处理器
xmlHttp.onreadystatechange = showGift;
showGift为传入的方法名,每当XMLHTTPRequest的状态发生改变时,将执行此方法

3. 与服务器连接并发送 xmlHttp.open("GET", url , true)
其方法签名如下: xmlHttp.open(bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword)
其中:
bstrMethod: 连接方式,可用的有GET, POST, PUT, or PROPFIND
bstrUrl: 服务器的url
varAsync(可选): 调用是否异步,默认为true(调用立即返回)
bstrUser(可选):用户名,如果url需要验证时附上
bstrPassword(可选):密码,如果url需要验证时附上
open()方法可以直接打开一个xml文档,并通过xmlHttp的responseXML来读取相应的节点。如下例: xmlHttp.open("GET","http://localhost/books.xml", false); xmlHttp.send(); var book = xmlhttp.responseXML.selectSingleNode("//book[@id='bk101']");


4、发送信息 xmlHttp.send(null)
其方法签名如下: xmlHttp.send( [varBody])
varBody(可选): 可为字符串或xml等数据,可以为null。无返回值 此方法在open()设为异步时,立即返回;在open()设为同步时,必须等到reponse对象从服务器中返回时才返回。

5、服务器返回处理完毕的信息

6、客户端自动探知XMLHTTPRequest的状态已经发生变化,自动触发事件处理器

7、事件处理器动态更新页面

结语:
由上7步可见,AJAX并不复杂,远比想像中要简单得多。牢牢记住这一点,“AJAX让我们在不用刷新页面的情况下,可以动态地更新网页部分内容”,然后运用到各种需要用到这种性能的场合,将使我们的网页更有创意。




分享到:
评论

相关推荐

    揭开AJAX神秘的面纱(AJAX个人学习笔记)第1/5页

    AJAX技术是多种计算机技术的结晶,它的名称来自:Asynchronism(异步)、JavaScript、And、XML这4个单词首字母,即异步JavaScript请求处理XML技术。简单的描述就是数据异步传输网页局部刷新的技术。AJAX很流行,WEB...

    Ajax入门中文电子书

    Ajax入门 Ajax 是 Asynchronous JavaScript and XML(以及 DHTML 等)的缩写。这个短语是 Adaptive Path 的 Jesse James Garrett 发明的,按照 ...他还揭开了 Ajax 核心概念的神秘面纱,包括 XMLHttpRequest 对象。

    Ajax从入门到精通(附教学示例)

    他还揭开了 Ajax 核心概念的神秘面纱,包括 XMLHttpRequest 对象。 五年前,如果不知道 XML,您就是一只无人重视的丑小鸭。十八个月前,Ruby 成了关注的中心,不知道 Ruby 的程序员只能坐冷板凳了。今天,如果想跟上...

    Ajax 从入门到精通(电子书+源代码)(高清PDF中文版)

    他还揭开了 Ajax 核心概念的神秘面纱,包括XMLHttpRequest 对象。 五年前,如果不知道 XML,您就是一只无人重视的丑小鸭。十八个月前,Ruby 成了关注的中心,不知道Ruby 的程序员只能坐冷板凳了。今天,如果想跟上...

    四天学会ajax.doc

    他还揭开了 Ajax 核心概念的神秘面纱,包括 XMLHttpRequest 对象。 五年前,如果不知道 XML,您就是一只无人重视的丑小鸭。十八个月前,Ruby 成了关注的中心,不知道 Ruby 的程序员只能坐冷板凳了。今天,如果想跟...

    Ajax从入门到精通

    他还揭开了 Ajax 核心概念的神秘面纱,包括 XMLHttpRequest 对象。 五年前,如果不知道 XML,您就是一只无人重视的丑小鸭。十八个月前,Ruby 成了关注的中心,不知道 Ruby 的程序员只能坐冷板凳了。今天,如果想跟上...

    四天学会Ajax技术

    他还揭开了 Ajax 核心概念的神秘面纱,包括 XMLHttpRequest 对象。 五年前,如果不知道 XML,您就是一只无人重视的丑小鸭。十八个月前,Ruby 成了关注的中心,不知道 Ruby 的程序员只能坐冷板凳了。今天,如果想跟上...

    掌 握 AJAX

    Ajax 由 HTML、JavaScript™ 技术、DHTML 和 DOM 组成,这一杰出的方法可以将笨拙的 Web 界面转化成交互性的 Ajax 应用程序。本系列的作者是一位 ...他还揭开了 Ajax 核心概念的神秘面纱,包括 XMLHttpRequest 对象。

    《4天学会Ajax》教程 pdf

    《4天学会Ajax》中文教程,pdf高清淅格式。第一天带您认识Ajax;第二天走进JavaScript 和Ajax异步请求;第三天学习Ajax高级请求和响应;...他还揭开了Ajax 核心概念的神秘面纱,包括XMLHttpRequest 对象。

    Ajax完全中文手册.chm

    Ajax 由 HTML、JavaScript™ 技术、DHTML 和 DOM 组成,这一杰出的方法可以将笨拙的 Web 界面转化成交互性的 Ajax 应用程序。本文的作者是一位 Ajax...他还揭开了 Ajax 核心概念的神秘面纱,包括 XMLHttpRequest 对象。

    Head First Ajax(中文版).pdf

    Ajax 由 HTML、JavaScript™ 技术、DHTML 和 DOM 组成,这一杰出的方法可以将笨拙的 Web 界面转化成交互性的 Ajax 应用程序。本系列的作者是一位 Ajax...他还揭开了 Ajax 核心概念的神秘面纱,包括 XMLHttpRequest 对象

    Ajax从入门到精通(电子书+源代码)

    他还揭开了 Ajax 核心概念的神秘面纱,包括XMLHttpRequest 对象。 五年前,如果不知道 XML,您就是一只无人重视的丑小鸭。十八个月前,Ruby 成了关注的中心,不知道Ruby 的程序员只能坐冷板凳了。今天,如果想跟上...

    3个ajax的教程,chm格式的you3个打包了,所以赏我个1分

    他还揭开了 Ajax 核心概念的神秘面纱,包括 XMLHttpRequest 对象。 五年前,如果不知道 XML,您就是一只无人重视的丑小鸭。十八个月前,Ruby 成了关注的中心,不知道 Ruby 的程序员只能坐冷板凳了。今天,如果想跟上...

    掌握 Ajax(IBM经典中文教程)

    简介: Ajax 由 HTML、JavaScript™ 技术、DHTML 和 DOM 组成,这一杰出的方法可以将笨拙的 Web 界面转化成交互性的 Ajax 应用程序。...他还揭开了 Ajax 核心概念的神秘面纱,包括 XMLHttpRequest 对象。

    Ajax基础:四天学会Ajax chm

    Ajax基础:四天学会Ajax chm 本教程的作者是一位 Ajax 编程专家,他通过这本书向大家演示了HTML、JavaScript™ 技术、DHTML 和 DOM 这些技术是如何...他还揭开了 Ajax 核心概念的神秘面纱,包括 XMLHttpRequest 对象。

    ajax技术到精髓从总体概述到细节的讨论

    从总体概述到细节的讨论 —— 使高效的 Web 开发成为现实。他还揭开了 Ajax 核心概念的神秘面纱

    掌握Ajax.rar

    他还揭开了 Ajax 核心概念的神秘面纱,包括 XMLHttpRequest 对象。 五年前,如果不知道 XML,您就是一只无人重视的丑小鸭。十八个月前,Ruby 成了关注的中心,不知道 Ruby 的程序员只能坐冷板凳了。今天,如果想跟...

    四天学会Ajax.rar

    他还揭开了 Ajax 核心概念的神秘面纱,包括 XMLHttpRequest 对象。 五年前,如果不知道 XML,您就是一只无人重视的丑小鸭。十八个月前,Ruby 成了关注的中心,不知道 Ruby 的程序员只能坐冷板凳了。今天,如果想跟...

Global site tag (gtag.js) - Google Analytics