转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 站长学院 >> Web开发 >> 正文
Ajax:让我们重返静态页面         ★★★★

Ajax:让我们重返静态页面

作者:闵涛 文章来源:闵涛的学习笔记 点击数:717 更新时间:2009/4/23 11:30:50
  这个标题是一个小小的玩笑,但是确实道出了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


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Web开发  · 网页制作
    · 平面设计  · 网站运营
    · 网站推广  · 搜索优化
    · 建站心得  · 站长故事
    · 互联动态
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台