没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
1
Ajax 概述
因特网技术的发展一直非常迅速。虽然最早出现的时候显示的是文本信息(因为那时存储空
间和内存都很有限),但近几年它已迅速发展成为图形化的、功能很强的媒体。随着其发展,就
需要有相关的工具来开发、制造和维护。随着迅速发展的技术,开发人员不断拓展所能实现的功
能范围,也开始要求开发工具更加可靠。
为了满足这种需求,出现了大量“Web开发人员”能够使用的工具。诸如HTML、PHP、ASP
和JavaScript等语言, 可以帮助开发人员在因特网上创建和部署自己的作品。 每种语言都已经有多
年的发展历史,并给现在的Web开发人员提供了强大的工具集。虽然这些工具的功能日益强大,
但在因特网应用程序和更根深蒂固的桌面应用程序之间仍然存在几个主要差异。
在可见的差异中,可能最明显的就是页面请求。在Web应用程序中要执行某些操作,就要向
服务器端发送调用请求。 为此页面必须刷新, 以呈现出从服务器端传给客户端 (通常是诸如Firefox
或IE等Web浏览器)的最新信息。这不是某个浏览器的缺点,而是所有Web浏览器的HTTP请求/
响应协议就是按这种方式工作的(见图11)。虽然从理论上讲,这种方式可能工作得很好,但是
开发人员开始寻求更简易的方法,以使Web应用程序的响应时间更短。
图11 因特网当前绝大多数网站所采用的请求/响应方法
Web浏览器 Web浏览器
Web服务器
请求
请求
响应
响应
第 1 章
2 第1章 Ajax概述
1.1 从CGI 到Flash再到DHTML
开发社区提出需求,商业公司就会给予解决方案。开发工具在设计完成之后,就肯定会有褒
贬不一的评价。也许第一种脚本语言就是为了使Web应用设计更加自由,从而避开服务器端CGI
(公共网关接口)。
随着CGI的出现,开发人员可以完成一些复杂的操作,如动态图像创建、数据库管理、复杂
计算以及动态Web内容创建等。我们现在对Web应用程序的各种认识最早就是源于CGI。不幸的
是,CGI虽然解决了很多问题,但其交互和响应的无缝结合仍是个难题。
为了创建真实生动的Web内容,Macromedia公司
1
发布了一个功能强大的Flash套件,在那时
这一举动可以称得上是“石破天惊” 。直到今天Flash仍然实至名归。它使Web开发人员能够构建
出可视化的、令人印象深刻的“影片” ,并作为网站、应用程序的一部分功能。这些网站比其他
网站更“炫” ,因为可以在各种浏览器上实现“运动”式的效果。
在专业设计师手下,嵌入Flash的Web网站在视觉效果方面会给人留下深刻印象。同样,在专
业开发人员手中,它们可以表现出强大功能。不过在单个处理过程中同时融合视觉设计和开发技
能是很少见的;因此Flash应用程序分为两类,一类是视觉效果好但功能少,另一类则是功能很强
但界面效果有待提高。而且这种两难境地又夹杂了兼容性问题:为了实现Flash功能,浏览器必须
安装一个插件。
还有一种可视化动态技术——DHTML(动态超文本标记语言),虽然已经出现多年但用户群
并不大。DHTML是Java Script和HTML的紧密结合体, 其本质就是将HTML和CSS元素与JavaScript
结合,在Web浏览器上实现动态的效果。虽然DHTML在Java Script专业开发人员手里能够实现一
些令人印象深刻的效果,但因为需要掌握一些专家级技术,因此并未进入主流
2
。
如下拉菜单、图像翻转、弹出的工具提示等脚本都很普通,但只是由少数高手开发,大多数
开发人员仅仅是应用和部署而已。很少有人自己从头开发这些软件包,因此直到最近也并没有很
多人认为JavaScript是一种因特网的强大工具。
1.2 当前 Web应用程序环境的优缺点
创建基于因特网的Web应用程序有很明显的优缺点。桌面应用程序不断与跨平台兼容问题做
斗争, 经常要根据完全不同的规则进行编码, 而因特网应用程序在不同浏览器中移植则简单得多。
加之只有少数主流浏览器拥有巨大的用户基础,因而程序在不同用户之间部署相对比较稳定。
对于在线应用程序而言,还有一个很大的优势是只需要创建和维护一套代码。如果创建的是
1. 已被Adobe公司并购。——编者注
2. DHTML的衰落很大程度上是当时浏览器不兼容造成的。——编者注
1.2 当前Web应用程序环境的优缺点 3
桌面应用程序,那么在部署一个修复bug的补丁时,用户要么重新安装整个软件包,要么获取该
补丁并安装它。此外,很难判断哪些安装将受到影响。
另一方面,Web应用程序可以只部署在服务器上就能够让所有用户访问。对其功能的任何改
变或改进都只需发布到一个中心位置并马上生效。随着开发人员开发能力的增强,他们倾向于开
发和维护更高级的产品。
不过任何事情都是有代价的。从维护的角度来看,在中心服务器上部署应用程序是很好的选
择,但也将引发新的问题:客户端需要一种访问这个中心服务器的途径。因特网为此提供了一个
良好的选择,但速度马上成了新的问题。
例如在使用Word时,单击一个按钮会立即启动某个操作并马上获得响应,而基于因特网的
应用程序则需要首先与它连接。 虽然高速因特网越来越普及,但很多用户仍然在使用56Kbps(甚
至更低)的调制解调器。因此即使在服务器上能够快速处理信息,发送给最终用户还是需要很长
时间。
与该问题相伴的是,对于每个服务器的响应还需要刷新页面,这样就给最终用户带来了很大
的挫折感。因此Web应用程序还需要获得桌面应用程序那样的传输速度。如前所述,Flash提供了
这样一种手段,并且还提供了强大的ActionScript语言来扩展它,但这需要一个专业人员才能有效
地应用它。DHTML通过使用JavaScript也提供了这样的手段,但其代码是很受限制的。
更糟糕的是还经常需要处理浏览器与标准不兼容的问题(甚至完全不遵循标准)。幸运的是,
对于这些问题已经有了解决方法——Ajax。这是JesseJamesGarrett给“异步JavaScript和XML”所
起的名字,它因Google的Gmail等Web应用程序而广泛流行。Ajax基于更流畅的页面载入向服务
器端发送请求,并且很少需要刷新整个页面。
1.2.1 走近 Ajax
Ajax在因特网世界引起了大家的重视,不仅仅在于其易于使用且功能强大,还在于它能够吸
引几乎所有开发人员的注意。 提出Ajax的这两年来, 没有出现任何形式的标准 (而且彻底基于Ajax
来构建其核心的网站还不算太多),但现在Ajax看起来已经像图像翻转一样平常了。
一些一鸣惊人的We b应用程序完全基于Ajax功能。它们不仅巧妙地应用了这一技术,还将
Web产业带入一个新的时代,使得标准的Web浏览器能够具备很强的功能,甚至能与桌面应用程
序媲美。
例如Flickr(www.flickr.com)或Gmail(www.gma il.com)(参见图12),从表面上看它们所
提供的服务并没有什么新颖之处(在因特网上有多少网络相册系统和Web邮件服务呀!)。为什么
这两个应用程序能够获得如此多(特别是在网络社区中)的关注呢?
我认为这些基于Ajax的新应用程序之所以流行,不是因为它提供了什么新的、令人惊讶的功
4 第1章 Ajax概述
能,而是它们以一种有效的、人性化的形式(直到现在,这些在因特网应用程序中还是比较匮乏
的)将信息和功能展现给我们。
图12 诸如Flickr和Gmail之类的网站都是功能强大的Ajax应用
1.Ajax定义
Ajax表示“异步JavaScript和XML” ,尽管不是所有人都认为Ajax是一个合适的术语,但那些
1.2 当前Web应用程序环境的优缺点 5
批评这个术语的人也不得不承认该技术之所以被广泛接受,这个新名词起到了一定的作用。
本质上,Ajax使用基于JavaScript的XMLHttpRequest对象,向Web服务器发送异步请求或
者避免对页面进行刷新(图13和图14阐释了传统的和基于Ajax的请求/响应模型的区别)。通过
使用XMLHttpRequest,Web应用程序能够向服务器获取或发送信息,由服务器完成所需的处
理, 然后动态地改变Web页面的某个部分, 用户甚至不用转到其他页面或将焦点转移到其他地方。
你可能认为通过XMLHttpReqeust对象返回的数据格式都是XML,它当然能够返回XML,而且
还能够返回在脚本语言中指定的任何数据格式。
图13 现在绝大多数基于Web的应用程序都采用传统的服务器请求/响应模型;每次服务器
请求发出后,该页面将刷新以显示新内容
图14 使用Ajax异步方法的因特网请求/响应模型;页面可以发送多个服务器请求且无需刷新页面
看一个实例,使用贷款计算器表单来计算将会从银行账户中扣走的钱数,这对于脚本语言非
服务器请求
服务器响应
Web服务器
Web页面
包含新内容的
Web页面
请求/响应1
Web服务器
请求/响应2
请求/响应3
Web页面
剩余80页未读,继续阅读
leiyupuya
- 粉丝: 1
- 资源: 36
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页