分享
 
 
 

Ajax:让我们重返静态页面

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

这个标题是一个小小的玩笑,但是确实道出了Ajax的含义;

Ajax不是一种新的技术,而是传统技术加以组合后的技术应用,它带给访问者完全不同的浏览感受:我们再也不需要一次又一次地在提交表单以后等待或者主动刷新网页,传统的动态网页技术被隐藏到了Ajax的后台,我们所看到的是一个静态页面,动态程序反馈的结果被直接无刷新地显示在这个页面上;

这听上去确实很像是在经历了静态页面、动态页面之后,我们又再次回到了静态页面的世界,不过这一次,已经完全不同了。

看到Ajax相关介绍之后我的第一个反应是MSN Space,我一直都对MS的Blog服务感到很奇怪,当我提交回复评论以后,浏览器会暂时停顿一下,然后在无刷新的情况下把我提交的评论显示出来;当了解了Ajax以后,我终于恍然大悟,原来如此。

有介绍说Sina-Blog也使用了Ajax,于是专门过去灌水试验了一番,确实如出一则;还有,前一段时间BlueIdea有贴出GoogleSuggest的代码研究,在不刷新页面的情况下,页面仍然可以检索、查询并返回浏览者所输入的相关结果,现在想来,果然也是Ajax应用没错。

“80s team”已经与前一段时间转载和翻译过相关的文章(可以在BXNA中检索到),但我认为非常有必要加以仔细体会和研究,因此这里再次摘录,混抄于下。

-----------------------------

Ajax(Asynchronous JavaScript + XML)的定义

* XHTML 和 CSS 的标准表示;

* 使用 DOM(Document Object Model)进行动态显示及交互;

* 使用 XML 和 XSLT 进行数据交换及相关操作;

* 使用 XMLHttpRequest 进行异步数据查询、检索;

* 使用 JavaScript 将所有的东西绑定在一起。

Ajax 能够做什么?

如今 Google Suggest 和 Google Maps 使用了 Ajax,通过 Ajax,我们可以使得客户端得到丰富的应用体验及交换操作,而用户不会感觉到有网页提交或刷新的过程,页面也不需要被重新加载,应用的数据交换都被隐藏。

传统的 WEB 应用程序模型是这样工作的:用户的界面操作触发 HTTP 请求,服务器在接收到请求之后进行一些业务逻辑处理,如保存数据等,然后向客户端返回一个 HTML 页面。

但这种方式并没有给予用户很好的应用体验,当服务器在处理数据的时候,用户则处于等待的状态,每一步操作都需要等待,太多的等待会使用户越来越没有耐心。

而 Ajax 则大不相同,它通过 Ajax 引擎,使得应用过程很自然,操作很流畅,因为其只和服务器交换有用的数据,而页面显示等不必要的数据则不再重新加载。Ajax 引擎其实就是 JavaScript、XML、XMLHttpRequest 等等各项技术的综合应用。

--图 1:传统 WEB 应用模型(左)与 Ajax 应用模型(右)的对比

当服务器在响应用户的请求时,用户在干什么呢?对,在等待。在任务的每一个步骤,用户都在做相同的事。

很明显,如果我们在系统设计时从scratch for applications的角度出发,用户就不会有漫长的等待。每当界面下载完毕,为什么和用户的每一次交互都会被等待所中断?

Ajax有什么不同?

Ajax应用利用了一种中间的媒介(Ajax引擎)消除了用户和服务器交互间的等待。这就像在传统的web模型中间加入了一层,可以降低响应时间。

替代页面下载的是,在Session刚开始时,浏览器下载一个用JavaScript编写的Ajax引擎,通常放在一个隐藏的框架里。这个引擎代替用户和服务器进行通讯。Ajax允许用户交互和服务器响应是异步的。这样用户就不会再看见那个后台操作的沙漏图标了。

--图 2:传统 WEB 应用程序的同步交互模式(上)与 Ajax 应用程序的异步模式(下)的对比

传统的发生HTTP请求的模式被js调用Ajax引擎所替代。所有的响应不用再需要服务器返回,Ajax自己就可以操作。如果Ajax引擎需要服务器的响应,它就会异步的向服务器发出响应,通常用XML,不会再出现等待的情况。

当前都有谁在使用 Ajax

当前应用 Ajax 的已有不少网站,如:

* Orkut

* Gmail

* Google Groups

* Google Suggest

* Google Maps

* Flickr 的部分特性

* Amazon 的 A9.com 搜索引擎部分

Ajax 应用前景

Ajax 的最大挑战并不是技术,组成 Ajax 的各项技术已经相当成熟、稳定及易学,主要挑战是如何使用 Ajax 设计应用程序,我们必须抛弃以往对于 WEB 局限性的看法,开始开阔视野、开放思想、不断创新,实现更加丰富的应用体验。

And More From 《Qiantu's Weblog》

有人专门开发了一个名为SAJAX(Simple Ajax Toolkit)的工具包,Sajax是一个开源的工具包可以帮助那些网站更加方便的使用Ajax。 Sajax可以在不进行浏览器刷新的情况下,通过使用Javascript来轻松的调用ASP, Cold Fusion, Perl, PHP, Python 等Web应用程序的功能。

两个例子:涂鸦计算器,将有助于理解什么是Ajax。

相关链接: http://michael.nona.name/archives/95http://edad.com.cn/datou/2005/02/ajax.htm http://www.adaptivepath.com/publications/essays/archives/000385.phphttp://www.80s.net.cn/blog/comment.asp?Id=102 http://www.chinalabs.com/cache/doc/05/03/18/44523.shtml

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有