当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]基于Ajax技术的Web 2.0开发应用

0  引言

随着互联网的不断发展和信息量的剧增,如何使Web响应更加灵敏,数据传输更加快捷,已成为当今关注的热点。应用系统所采用的技术也由早期的C/S(Client/Server)模式向基于B/S(Browser/Server)的应用模式进行转变。这种转变避免了繁琐的部署工作,同时也体现了瘦客户的开发理念,但同步交互方式带来客户端响应速度慢的问题始终困扰着最终用户。基于Ajax(Asynchronous JavaScript. and XML)的Web 2.0技术改变原有的同步交互为异步交互方式,使页面在后台按需获取数据,这样不仅节省了带宽,更加大大提升了用户体验。

Ajax是新兴网络开发技术的象征,是Web 2.0时代的代表。最关键的是颠覆了传统Web与服务器的交互模式,这种思维模式的转变为Web发展提供了更广阔的前景。Ajax是一个前台工具,在后台可以使用各种服务器语言,比如:.NET,PHP,Java等。Ajax是集合了多种技术,提高互联网性能的一种关键技术。Ajax理念的出现,揭开了无刷新更新页面时代的序幕,并有代替传统Web开发中采用form(表单)递交方式更新Web页面的趋势,其可以算是一个里程碑。

1 Ajax的工作原理

在传统的浏览器与服务器的交互方式中“采用同步方式”由用户触发一个HTTP请求到服务器,服务器对其进行处理后再返回一个新的Web页到浏览器。每次应用的交互都需要向服务器发送请求,应用的响应时间就依赖于服务器的响应时间。当服务器正在处理的时候,用户只是在等待,这样,不会产生很好的用户体验;而在前后两个页面中的大部分HTML代码往往是相同的,也浪费了许多带宽资源。

现在使用的Ajax技术是将几种成熟技术按一定的方式结合在一起,通过协作发挥各自作用,包括:使用XHTML和CSS标准化呈现;使用DOM实现动态显示和交互;使用XML和XSLT进行数据交换与处理;使用XMLHttpRequest进行异步数据读取;用JavaS-cript绑定和处理所有数据。

Ajax需要一个稳定、响应及时的服务器向引擎发送内容,作为必要的服务端处理逻辑,确保向Ajax引擎发送的数据格式是正确的。

Ajax的工作原理相当于在用户和服务器之间加了一个中间层Ajax引擎,从而实现用户操作与服务器响应的异步化。这样把以前的一些服务器负担的工作转嫁到客户端,利于客户端闲置的处理能力来处理,减轻服务器和带宽的负担,从而达到节约ISP的空间及带宽租用成本的目的。但并不是所有的用户请求都提交给服务器,像一些数据验证和数据处理等都交给Ajax引擎自己来做,只有确定需要从服务器读取新数据时再由Ajax引擎代为向服务器提交请求。传统的Web应用程序模型和基于Ajax的Web应用模型分别如图1,图2所示。

rc="/21ic_image/embed/file/201202/4f1962dbe86a47b211e616f58edef37d.jpg" alt="" />

由于Ajax技术的结构特点,可以为ISP、开发人员、终端用户带来可见的便捷:

(1)按需获取数据。这是Ajax的根本理念,Ajax的原则是“按需取数据”,这样可以最大程度地减轻冗余请求,减轻服务器的负担。

(2)无刷新更新页面,减少用户心理和实际的等待时间。这是Ajax最大的特点,用户无需刷新页面便可向服务器传输和读写数据。

(3)基于标准化的并被广泛支持的技术。Ajax包含的技术都是各自领域强有力的技术,组合之后的功能更加强大。

(4)给用户带来更好的体验。Ajax使得在Web上运行软件的感受,越来越接近于本机上运行的效果。

(5)可以调用外部数据,取得足够权限后,能轻易地实现数据聚合。

(6)进一步促进页面呈现与数据的分离。

2  Ajax技术在Web 2.0中的应用

下面简要介绍利用Ajax技术的无需页面提交而能与服务器交互,即时从服务器获取数据并显示出来的特性,实现自动完成(字典)功能的过程。自动完成功能实现的主要目的是帮助用户快速准确的输入内容,就是用户在输入框中输入一些检索词,根据用户所输入的信息,从后台数据库以LIKE方式查询,同时在输入框下方显示相应的提示信息,进而帮助用户快速的搜索。在很多系统中都需要实现自动完成的功能,但在Ajax技术出现之前,一般只有桌面应用程序才能实现类似的功能。Web应用程序只能借助于浏览器自身的自动完成功能来实现,而浏览器的自动完成功能是比较有限的,它只能提示用户输入过的信息。如果自动完成的数据是来自于服务器端的,Ajax则是最好的选择。比如用户只记住了要查询信息的前面几个字,而记不清全名,这样要查询到所要的信息就比较困难。使用Ajax技术后,在用户输入的同时,输入框下方可以给出与已输入信息相匹配的提示来辅助用户输入,这样用户进行查询的速度和准确率会大大提高,也可以有效地改善用户体验。下面利用Ajax(.net)技术实现一个学校信息查询的自动完成功能,其步骤如下:

服务器端提供GetSearchItems方法给客户端,用来返回满足条件的列表;

客户端的输入框需要增加onkeydown响应函数,以便即时获得满足条件的列表;

通过客户端的JavaScript动态列出待选结果的列表,同时还要提供键盘和鼠标的响应。

在服务器端添加供客户端调用的GetSearchItems方法是:在服务器端函数GetSearchItems的定义前加上[AjaxMethod()]标记,以表明它可以被客户端异步的调用。具体代码如下所示:

(1)服务器端代码设置如下:

该方法用于查询数据库,最后返回一个ArrayList对象,他将包含所有以用户输入字符串开头的所有学校名称的条目。

(2)客户端处理的部分代码

客户端相对于服务器端处理要复杂得多,要根据服务器端返回的ArrayList对象展示结果,此处用JavaScript和DOM创建一个新的div,将ArrayList中的每一条目都作为其子节点加入到div中,而每一个条目也被看作是一个div,具体的文本内容则是一个span对象。

rc="/21ic_image/embed/file/201202/ccbaa97ff5a679e352fb48454c6789e1.jpg" alt="" />

3结  语

利用Ajax技术,开发人员可以创建一个与桌面应用程序相媲美的交互式用户界面。Ajax使Web中的界面与应用分离(也可以说是数据与呈现分离),而在以前两者是没有清晰界限的,数据与呈现的分离,有利于分工合作、减少非技术人员对页面的修改造成Web应用程序的错误,提高效率,也更加适用于现在的发布系统,也可以把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的处理能力来处理。Ajax技术的出现将基于Web的应用程序开发带进了一个全新的阶段,但Ajax主要是基于JavaScript的客户端技术,所以客户端的开发显得越来越臃肿,随之而来的安全性等一系列问题有待进一步研究。

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

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭