当前位置:首页 > 消费电子 > 消费电子
[导读]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','http://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技术的不断发展和完善,其在软件开发领域必将引领新的潮流。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

深圳2023年9月21日 /美通社/ -- 近日,国际公认的测试、检验和认证机构SGS为深圳市美浦森半导体有限公司(以下简称:美浦森半导体)SLH60R041GTDA型号MOSFET产品颁发AEC-Q101认证证书。美浦...

关键字: 半导体 MOSFET LH 新能源汽车

上海2022年8月9日 /美通社/ -- 历经数年焕新改造,锦沧文华广场(简称:JC PLAZA,下同)即将于2022年8月18日迎来正式试营业。坐落于南京西路商圈,JC PLAZA从十里洋场的发展风向中汲取灵感,汇聚国...

关键字: AI ISO AN LH

(全球TMT2022年4月26日讯)聚好全球股份有限公司(简称"聚好全球"或"公司")通过旗下聚好商城运营中国化妆品、健康及营养品和家庭日用品电商平台,公布其截至2021年12月31日止的全年财务业绩。...

关键字: VIP MT LH

开放、透明、共享是区块链网络的本质特性,是区块链技术爱好者们、社区参与者们最为重视的因素,也是帮助一个区块链项目成长的动力源泉。节点,通过参与区块生产、社区共建、网络治理等方式在区块链网络走向成

关键字: 区块链 节点设计

近年来,随着一些大型网站用户密码库泄漏、勒索病毒等事件的发酵,网站安全越来越备受运维人员的关注,同时,对程序开发人员的安全意识也要求的越来越严格。要做到一个网站的信息安全,与哪些因素有关呢?

关键字: 信息安全 源代码 防护 REQUEST

韩联社8月29日报道,LG U+与韩国土地房屋公司(LH)合作,将智能建筑技术应用于世宗市生活区。两家公司在世宗市指定国家智能城市建筑区引入了建筑工地5G专用网,包括5G重型设备远程控制、无人机

关键字: 5G LH LG LTE

在小米9 Pro 5G手机和小米MIX Alpha手机新品发布会上,小米正式发布了小米真无线蓝牙耳机Air 2,这款耳机支持LHDC蓝牙解码,售价399元。 小米真无线蓝牙耳机Air 2

关键字: 小米 真无线蓝牙耳机 AIR LH

近年来,第五代移动通信系统5G已经成为通信业和学术界探讨的热点。5G的发展主要有两个驱动力。一方面以长期演进技术为代表的第四代移动通信系统4G已全面商用,对下一代技术的讨论提上日程;另一方面,移

关键字: 5G MT 移动通信系统 LH

孩子的小衣服要怎么洗?有些父母图方便,把小孩衣服和大人衣服一起扔进洗衣机。殊不知,大人衣服上带的细菌、洗涤剂里的化学残留,很容易引起孩子皮肤过敏;而且,两种衣服要用的洗涤剂种类、用量和时间都有差

关键字: 洗衣机 TCL LH NI

转自:博客园,作者:艾瑞克·邵,www.cnblogs.com/eric-shao/p/10115577.html 前言 if...else是所有高级编程语言都有的必备功能。但现实中的代码往往存在着过多的 if...el...

关键字: 程序员 SE 代码 REQUEST
关闭
关闭