首页 > 范文大全 > 正文

AJAX技术及其在WEB应用程序开发中的应用

开篇:润墨网以专业的文秘视角,为您筛选了一篇AJAX技术及其在WEB应用程序开发中的应用范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要 ajax技术是将Java技术、XML、DOM以及JavaScript等编程技术,按一定的协作方式合理组合在一起,来充分发挥各自的作用。通过在用户和服务器之间加入AJAX引擎(AJAX engine),使用户操作与服务器响应实现异步化,从而增强web应用的交互性,可以开发出基于浏览器的具有高用户交互性的WEB应用,构建出更为灵活、页面更为丰富和用户体验更好的WEB应用程序。本文介绍AJAX技术的有关概念、关键技术以及应用方法。

关键词 AJAX;WEB应用;异步交互

中图分类号:TP3 文献标识码:A 文章编号:1671—7597(2013)051-077-02

在传统的WEB应用程序中,用户和服务器之间是一个同步交互的过程,用户在客户端向服务器提出请求,服务器端收到请求后进行处理,然后再将处理结果以全新的页面发送回客户端。用户提交请求后,不能进行其它操作,服务器需要一定时间对请求进行处理,使得用户得不到立即反馈。AJAX引入了异步请求的技术,在用户和服务器之间增加了一个中间层,使得用户在提交请求后不用等待服务器的响应,可以继续操作使用应用程序,WEB站点看起来是即时响应的。现在AJAX技术已经在面向消费者的WEB应用开发中得到广泛的应用,如Amazon的A9搜索引擎、Google的Gmail和GoogleMaps。

1 AJAX与传统WEB应用

1.1 传统的WEB应用

传统的WEB应用程序大多采用B/S结构,系统与用户之间同步交互。用户对浏览器操作向服务器端发送一个HTTP窗体请求,服务器端接收到请求后,判断用户的请求行为,处理来自各种数据源的数据信息,设置相关属性值后加入到服务器返回给用户的信息内容中,即一个HTML页面。这个过程不是连贯的用户体验,用户提交请求后,不能进行其它操作,服务器需要一定时间对请求进行处理,用户处于等待状态,浏览器上大部分显示空白。在服务器负载比较小时,这种同步交互方式工作没有任何问题。但是当服务器负载较大时,服务器需要更多的时间进行处理运算来响应用户的请求,过长的等待服务器响应时间对于用户来讲是不能接受的,有时用户经过长时间等待收到的可能是服务超时的错误消息。还有一种情况,当用户只是想对页面中一小部分的内容进行修改时,浏览器却仍然需要对整个页面的数据进行加载刷新,这样即浪费上网流量,又占用大量时间,工作方式缺乏人性化。传统WEB应用请求响应过程如图1所示。

1.3 AJAX的概念

AJAX全称为“Asynchronous JavaScript and XML”,是一种创建交互式WEB应用的手段,它采用客户端脚本来实现与服务器端进行交换数据。可以动态、灵活的更新WEB页面。AJAX技术是将Java技术、XML、DOM以及JavaScript等编程技术,按一定的协作方式合理组合在一起,来充分发挥各自的作用。这些技术有Javascript、XSTL、XHTML、DOM、XML、CSS及XMLHttpRequest。AJAX技术的出现和使用使得WEB应用的交互性得到了很大提高。

1.3 AJAX的工作原理

AJAX的工作原理是在用户和服务器两者之间加了一个中间层AJAX引擎(AJAX engine),实现用户操作与服务器响应间异步交互模式。在这种模式下,一部分用户请求如数据验证和简单的数据处理请求去交给AJAX引擎完成,确实需要服务器端完成的请求,才由AJAX引擎向服务器提交,减少了页面重载次数,使用户感觉所有的操作很快得到了响应,交互性大大增强。AJAX应用模型如图2。

AJAX引擎接收处理请求的流程为:

1)捕获WEB浏览器事件,对应不同事件注册一个处理函数。

2)在客户端浏览器初始化XMLHttpRequest请求对象。

3)与服务器建立连接,向服务器发送请求。

4)接收服务器响应对处理结果进行分析。

5)使用DOM API更新客户端页面内容。

2 AJAX的关键技术

鉴于AJAX涉及到的技术较多,本文着重对XMLHttpRequest、DOM、XML、JavaScript几种技术的使用进行说明。

2.1 XMLHttpRequest

XMLHttpRequest对象是AJAX技术中最核心的部分。利用这个对象,AJAX不用刷新页面即可与服务服进行数据的传输和读写。它只与服务器进行数据交换,减轻了服务器的负担,减少了等待响应时间,用户与服务器交互更为流畅。

2.2 DOM

DOM全名为“Document Object Model”,是W3C组织的推荐标准。该模型是Java API for XML Processing的组件API。该Document Object Model Level 2 Core API允许程序动态访问和更新文档的内容和结构。脚本或程序语言通过DOM与网页进行交互沟通。

2.3 XML

XML全名为“Extensible Markup Language”,是一种开放的,允许用户对自己的标记语言进行定义的源语言。标记是一种信息符号,它能被计算机理解,计算机相互之间通过这种信息符号来处理包含各种信息的文章等。XML语言是由相关人士自由决定的标记语言,具有开放性、可扩展性、可自描述性的特点。它作为数据交换与数据传输的标准在WEB应用中被广泛使用。

2.4 JavaScript

JavaScript,是一种广泛用于客户端WEB开发的脚本语言。它虽然是一种简单的脚本语言,但功能却十分强大,不同于其它服务器端脚本语言,JavaScript主要被作为客户端脚本语言在用户的浏览器上运行,不需要将数据交付到服务器上进行处理,减少了服务器的负担,大大提高了系统的效率。在WEB开发中通过用到JavaScript以下几种功能:在HTML页面中嵌入动态文本,接收客户端请求并作出响应,读写HTML元素,实现表单数据前端校验等。

3 结束语

AJAX技术实现用户和服务器的异步交互模式,在两者之间加了一个中间层AJAX引擎,动态、灵活的对Web页面进行刷新,最大限度的增加客户端的数据处理能力,减轻了服务器的负担又加快了响应速度,从而减少网络流量缩短响应时间。AJAX技术使WEB应用系统具有更高的实效性、更便捷的交互性和更好的人性化服务,使WEB应用系统感觉像桌面应用程序一样使用,从而提升Web应用系统的运行效率。

参考文献

[1]蒋维.Ajax技术在网络B/S架构中的应用研究[J].微计算机应用,2008,29(7):29-33.

[2]Scott Raymond.Ajax on Rails(影印版)初版[M].东南大学,2007:81-130.

[3]Phil Ballard.Sams Teach Yourself Ajax in 10 Minutes.US:Addison-Wesley,2006:1-200.

[4]Holzner S.Ajax Bible.Wiley Publishing,Inc.2007.