如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
Ajax技术分析及应用周强李宇管仲(中国科学院国家科学图书馆北京100190)[摘要]:Ajax已经成为Web2.0的核心技术之一。本文在介绍Ajax技术的基础上,对传统Web应用与Ajax应用进行了比较。本文以长途电话区号查询组件为实例,介绍了Ajax技术的应用。[关键词]:AjaxXMLHttpRequestWeb应用AjaxTechniqueAnalyseandApplicationZhouQiangLiYuGuanZhong(NationalScienceLibrary,ChineseAcademyofSciences,Beijing100190,China)[Abstract]:TheAjaxhasbecomeoneofWeb2.0standardcores.Inthispaper,basedonpresentedAjaxtechnique,comparedapplicationtraditionalWebwithapplicationofAjax.ThepaperpresentsanapplicationoftheAjaxtechnique,usingacomponentofqueryinglong-distincecallarea-code,whichisbasedonAjaxtechnologyasatypicalexample.[Keyword]:AjaxXMLHttpRequestWebapplication一、引言伴随着Web2.0的出现,互联网进入了一个更加开放、交互性更强的发展阶段。传统的Web应用是同步交互方式。当服务器端处理请求时,浏览器端的用户就必须等待,只有当响应传输到浏览器端时,整个页面才会重新进行刷新,显式处理后的结果。这样,不但使网络的数据流量增加,而且浏览器端用户等待的时间也延长了。Ajax采用异步交互方式。Ajax技术的应用,相当于在浏览器客户端与服务器之间加了一层Script(即Ajax引擎)。Ajax引擎是异步JavaScript与XMLHttp。用户请求首先提交给Ajax引擎,部分请求Ajax引擎可直接处理,其余请求Ajax代为向服务器提交。浏览器不用等待服务器的响应,用户可继续别的操作。服务器处理完用户请求后,返回处理结果。Ajax引擎调用回调函数处理结果并更新浏览器页面指定部分,浏览器不用刷新整个页面,从而缩短了客户等待的时间,减少了网络中数据的流量。二、Ajax相关技术简介Ajax是AsynchronousJavaScriptandXML的缩写,全称为异步JavaScript和XML。它是几项技术组合而形成的新技术,包括JavaScript、XHTML、CSS、DOM、XML、XSTL和XMLHttpRequest对象,其中XMLHttpRequest、JavaScript和DOM是Ajax技术的核心[1]。这项技术关注两个问题:一是借助异步JavaScript实现浏览器和服务器之间的异步交互;二是对XML文档的解析处理。Ajax技术是通过XMLHttpRequest来实现异步远程通信,利用XML实现数据的封装和更新,最终达到交互性更强的用户界面效果。Ajax给WebApplication的开发提供了强大的支撑工具,利用Internet标准化技术,构造一个切实可行的应用开发平台,使得开发出来的系统可用性大大提高。下面对相关技术简要介绍。2.1、JavascriptJavaScript是一种基于对象和事件驱动并且具有较高安全性能的脚本语言,是一种可以与HTML混合使用的脚本语言,其编写的程序可以直接在浏览器中解释执行。JavaScript通常定位为客户端的脚本语言[1]。在Ajax中,JavaScript有很大作用,它来协调DOM、XHTML、CSS、XML和XSTL。2.2、XMLHttpRequestXMLHttpRequest是XMLHTTP组件的对象,是浏览器中已经定义好的对象。JavaScript通过它和服务器之间进行通信,并通过它来解析从服务器传回的XML文件。XMLHttpRequest对象在JavaScript中创建并使用。通过该对象,Ajax可以与桌面应用程序一样只与服务器进行数据层面的交换,而不需要每次都刷新界面,也不用每次将数据处理的工作都交给服务器来处理。这样,既减轻服务器负荷又加快响应速度、缩短用户等待的时间[1]。2.3、DOMDOM的全称是文档对象模型(DocumentObjectModel)。它用树结构表示整个XML文档[2]。DOM是以层次结构组织的节点或信息的集合,这个层次结构允许开发人员在结构树中导航寻找特定信息。DOM提供了API,允许开发人员添加、编辑、移动或删除树中任意