欢迎来到天天文库
浏览记录
ID:34125065
大小:653.18 KB
页数:6页
时间:2019-03-03
《新一代web应用开发技术ajax》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、新一代Web应用开发技术AJAX李智毅(北京系统工程研究所北京9702信箱19号邮编100101znznzyf@21cn.com)摘要在Web应用开发领域,目前最值得关注的新技术当属AJAX(AsynchronousJavaScriptandXML),本文主要阐述AJAX的产生、运行模式和技术构成,并通过实例代码分析其架构和优缺点及对Web开发的影响,展望其发展趋势和应用前景。关键词AJAXJavascriptXMLWebService1前言对于大多数人来说,“上网”需要启动浏览器,然后对不同的网站上冲浪。不过,互联网数据与桌面互动
2、方式方面的进展已开始彻底改变我们“上网”的概念,这主要源于Google和其它网站上一些用新技术构建的应用程序。这种编程技术被用于创建丰富的、基于Web的、与桌面软件观感类似的应用程序,但它们是基于浏览器的,而且所用资源不多。同任何革命性技术一样,这种技术荣获了一连串的名字。一些人把它叫做Web2.0。另一些人把它称为“开放API”,指的是共享所谓的应用编程接口的关键编程代码。很多人根据改变浏览器与Web数据互动方式的编程技术,把它叫做AJAX(异步JavaScript和XML)。不管使用什么名字,AJAX已成为2006年最受瞩目的I
3、T技术之一,将涌现出一批利用这项技术的新Web应用。AJAX的产生源于随着当前Web服务逐渐渗入到人们的日常生活中,越来越多的人通过Web享受信息化时代带来的的各种服务。一个热门站点的Web服务器每时每刻要处理海量的数据请求。当网络负载越来越大而带宽有限时,传统B/S结构的Web应用程序出现相应时间很长,浏览器长时间处于等待状态;同时我们在浏览Web站点的时候,不时的通过链接从一页跳到另一页。我们会发现同一个站点上的许多页面上内容都是重复的,譬如页头、页尾和广告等。页面上一小部分数据的改变,却需要重新加载整个页面,这样一来造成了大量
4、相同数据的重复请求,进一步加大了网络和服务器的负担,造成用户界面的闪烁、屏幕空白甚至超时,出现页面不可用的情况。针对以上问题,2005年2月JesseJamesGarrett提出AJAX这个概念。AJAX是AsynchronousJavaScriptandXML的缩写。AJAX并不是一门新的语言或技术,它实际卜是几项技术按一定方式的组合,在共同的协作中发挥各自的作用,它包括:使用XHTML和CSS标准化呈现;使用DOM实现动态显示和交互;使用XML和XSLT进行数据交换与处理;使用XMLHttpRequest进行异步数据读取;最后用
5、JavaScript绑定和处理所有数据。其中XMLHttpRequest,JavaScript和DOM是AJAX技术的核心。2AJAX的运行模式和技术组成我们与传统WEB应用程序运行模式进行对比也许更能说明问题。在经典的B/S的交互方式中,由用户触发一个Http请求到服务器,服务器对其进行处理后再返回一个新的Web页到浏览器,每当服务器处理浏览器提交的请求时,客户都只能空闲等待,并且哪怕只是一次只需从服务器端得到很简单的一个数据,,都要返回一个完整的Web页。使用AJAX后,在客户端和服务器之间加人了一个中间层——AJAX引擎,使用
6、户操作与服务器响应异步化,即并不是所有的用户请求都提交给服务器,一些数据验证和处理由Ajax自己来做而不必交给服务器处理,只有确定需要从服务器读取新数据时再从客户端通过JavaScript调用AJAX引擎代为向服务器端发出Http请求。当服务器端的数据以XML形式返回时,AJAX477引擎接收数据并指定JavaScript函数来完成对响应的处理或页面的更新。图1是两种Web模式的处理过程示意图。采用这种异步的交互过程,当在服务端数据没有返回时,用户可以继续浏览或交互,不必等待。此外,可以看出AJAX与服务端究竟采用何种动态网页技术是
7、无关的。图1传统Web应用模式与AJAX模式比较AJAX模型中所谓“AJAX引擎”,其实是对多种技术的综合应用,包括了JavaScript,XHTML和CSS、DOM、XML和XSTL,XMLHttpRequest。AJAX虽然包括了这么多技术,一般的应用却只需要使用到XMLHttpRequest、DOM、XML,Javascript及CSS就可以完成异步交互了,其中XMLHttpRequest是实现异步交互的关键。1)XMLHttpRequestXMLHttpRequest是多数浏览器支持的一个对象,通过JavaScript可以在
8、浏览器端创建一个实例。在微软IE平台下XMLHttpRequest是XMLHTTP组件一个对象,它通过允许开发人员在Web页面内部使用XMLHTTPActiveX组件扩展自身的功能,开发人员可以不用从当前的Web页面导航而直接传输数据
此文档下载收益归作者所有