摘要:AJAX技术整合了XML、DOM及Javascript等多种技术,并充分发挥了各项技术,因而如今已经发展成为深受广大用户青睐的软件开发技术,并获得了良好的用户体验。本文重点针对AJAX的原理及其关键技术进行了分析,并就其在软件开发中的应用进行了探讨。
0 引言
AJAX采用异步调用方式进行局部页面的刷新,并以浏览器为基础创建多种应用,为用户提供良好的交互使用体验。
鉴于AJAX非凡的体验效果及良好的界面表现力,其不仅受到了业内的青睐和大力追捧,更展现了广阔的应用及商业前景。
1.AJAX关键技术分析
1.1 JavaScript
作为浏览器中使用频率相当高的一种编程语言,JavaScript可以确保客户端网页内容的实时更新。而其在AJAX中主要充当的是XMLHttpRequest与DOM二者的枢纽,并借助于XMLHttpRequest属性值对本地页面DOM对象进行动态更新。
1.2 XML
XML,即所谓的可扩展标记语言,同HTML相似,XML也是一种应用标签进行标记的语言,但用途较HTML而言具有较大的差异。HTML采用可直接阅读式的格式对数据进行显示,而XML则用来对数据进行描述、交换和存储。
1.3 XMLHttp
XMLHttp是借助于HTTP在VbScript及Javascript等脚本语言中进行XML或其他相关数据的接收或传输的一套API.XMLHttp主要作用即对网页部分内容进行更新,但无需对整个页面进行刷新。如今,多数浏览器均能够支持XMLHttp,在IE中利用ActiveXObject可以进行XMLHttp对象的创建,诸如Opera、Firefox等的浏览器可以利用window.XMLHttpRequest进行XMLHttp对象的创建。
1.4 DOM
DOM主要是供HTML及XML等文件使用的一套API.其能够对文件结构进行表述,并在网页和程序语言间构建起一座沟通的桥梁。开发人员都是借助于对象对所构建或可操作文件的属性、事件或方法进行展现的,例如,document代表的即文件自身这一对像,table则代表的是HTML表格对象等。此类对象能够采用多数浏览器中的Script进行取用,并达到显示或动态交互的目的。
1.5 XMLHttpRequest
作为AJAX所有技术中为关键的技术,XMLHTTPRequest为异步请求提供了支持,在后台运行过程中,XMLHttPRequest对象利用异步通讯将来自http服务器的数据进行接收和获取,无需将用户的操作中断,同时,层面交互过程利用的是自动和服器来实现的。
2.软件开发中AJAX的应用分析
较传统CS开发而言,AJAX的开发过程存在着极大的差异,此类差异也带来了新的编程方面的问题,重要的即易用性方面的问题。由于AJAX对于XML及JavaScript具有较强的依赖性,因此,浏览器支持标准及其兼容性的重要性正如JavaScript的运行性能一样。此类问题多数源自于技术、浏览器及服务器三者的组合,因此,必须确保此类技术的应用效果。以下就某就AJAX在软件开发中的应用进行分析。
WebGIS中应用AJAX时必须遵循Request/Response这一模式,此框架流程如下:对象的初始化→请求的发送→服务器的接收→服务器返回→客户端的接收→客户端页面内容的修改。
1)首先是对象的初始化,并进行XMLHttpRequest请求的发送。
为了确保JavaScript能够将HTTP请求发送至服务器端,应采用的是XMLHttp-Request这一对象。不同浏览器对于此过程的实现途径各不相同,IE采用ActiveX控件形式进行提供,Mozilla等浏览器采用的是XMLHttpRequest形式。
if(window.XMLHttpRequest){// Mozilla,
Safari, …
http_request=new XMLHttp Request();
}
else if(window.ActiveXObject){//IE
http_request=new ActiveXObject
(“Microsoft.XMLHTTP”);
}
2)对所需响应处理函数进行指定。
对客户端处理所返回服务器信息的方式进行指定,其中,处理函数名可赋于XMLHttpRequest对象相应的onreadystatechange属性。如http_request.onreadystatechange=processRequest.
3)进行HTTP请求的发送。待响应处理函数指定完毕后,即可向服务器进行HTTP请求的发送。此步骤采用的是相应的open与send方法。
http_request.open(‘GET','https://www.example.org/some.file',true);http_request.send(null);其中,open参数即为HTTP的请求方法,为Post、Get及Head等。open 第二个参数即目标URL,第三个参数指定此请求是否为异步方式。若为True,则异步请求,False为同步,默认为True.
4)对服务器返回信息进行处理。先对XML-HttpRequest对象的Readystate值进行检查,并对请求状态进行判断。形式如下:
if(http_request.readyState==4){
//信息已返回,开始处理
} else {
// 信息还未返回,继续等待
}
当服务器将信息返回之后,仍需对所返回HTTP的状态码进行判断,明确所返回页面是否存在错误。可在W3C上查询到全部状态码。如下所示,200表示页面是正常的。
if (http_request.status = = 200)
{
// 页面一切正常,可开始进行信息的
处理
} else {
// 页面存在问题
对于返回成功的信息,XMLHttpRequest具有如下处理方式:一种是responseText以字符串形式进行使用;另一种是responseXML以XML文档形式进行使用,可采用DOM进行处理。
由此可见,AJAX在软件开发过程中具有十分重要的应用,且随着各项技术的不断成熟,AJAX将在WebGIS平台内部发挥重要的作用。谷歌所推出的Google Maps中就采用了AJAX技术,此外,雅虎公司Flash/AJAX也充分利用了AJAX技术,以提高用户的体验效果。
3.结语
AJAX技术将多项技术融于一体,充分发挥了各项技术的功能,并获得了理想的效果,已成为用户极为青睐的开发技术之一。随着AJAX技术的不断发展和完善,其在软件开发领域必将引领新的潮流。(作者:闫孝丽)
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。