1.2 为什么使用Ajax
传统的Web应用采用同步交互过程,这种情况下,用户首先向Web服务器发送一个请求,然后Web服务器根据用户请求的内容,执行相应的任务,并向用户返回结果,如图1-1所示。这是一种不连贯的用户体验,在服务器处理请求时,用户只能等待,此时浏览器显示的页面是空白的,这也就是通常所说的“白屏”现象。
自从采用HTML进行Web传输和呈现以来,无论是基于哪种服务器技术(ASP、ASP.NET、JSP或PHP),Web应用中采用的都是如图1-1所示的处理模式。当页面内容比较少,或者服务器处理时间较短的时候,采用这种模式似乎没有什么不妥。但是,如果页面内容很多,服务器的响应时间较长,对于用户来说就难以接受了。根据调查,一个网页加载的时间如果超过4~5秒,那么大多数用户将不会等待,可能会选择切换到其他窗口或者直接关闭该页面。
![]() |
| 图1-1 传统Web应用程序模型 |
此外,用户在某些时候仅仅需要改变页面中某部分的数据,但是他不得不刷新整个页面。尤其在人机交互较为频繁的应用系统中,这种现象屡见不鲜,这显然是和人性化的软件设计原则相违背的。如何减少用户的等待时间,提高系统的可用性呢?现在除了优化代码、调整服务器配置之外,还可以选择使用Ajax技术。
与传统的Web应用不同,Ajax采用了异步交互的方式。它在用户和服务器之间引入了一个中间媒介,从而改变了同步交互过程中的“处理-等待-处理-等待”模式。用户的浏览器在执行任务时即装载了Ajax 引擎。该引擎是用JavaScript语言编写的,通常位于一个隐藏的框架中,负责转发用户界面和服务器之间的交互。Ajax引擎允许用户和应用系统之间的交互以异步的方式进行,独立于用户与Web服务器之间的交互。现在,可以用JavaScript调用Ajax引擎来产生一个HTTP的用户请求,数据编辑、页面导航和数据验证等操作不再需要重新加载整个页面,可以通过Ajax引擎向Web服务器发送请求。基于Ajax的Web应用程序的模型如图1-2所示。
使用Ajax可以带来的好处有以下几方面。
• 减轻服务器的负担。Ajax的原则是“按需取数据”,可以最大程度地减少冗余请求,减轻服务器的负担。
![]() |
| 图1-2 基于Ajax的Web应用程序模型 |
• 无需刷新页面,减少用户心理和实际的等待时间。特别是在读取大量数据时,不会像刷新页面那样出现白屏的情况,Ajax使用XMLHttpRequest对象发送请求并且得到服务器响应,在不重新载入整个页面的情况下,用JavaScript操作DOM更新页面。因此在读取数据的过程中,用户所面对的不是白屏,是原来的页面内容(也可以加一个“Loading”的提示框让用户知道目前正在读取数据),只有在数据接收完毕之后才更新相应部分的内容。这种更新是瞬间的,用户几乎感觉不到。
• 带来更好的用户体验。
• 可以把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理,减轻服务器负担,充分利用带宽资源,节约空间和宽带租用成本。
• 可以调用外部数据。
• 基于标准化的并被广泛支持的技术,不需要下载插件或者小程序。
• 进一步促进页面呈现与数据的分离。
| 回书目 上一节 下一节 |
|
· 系统分析师自测获奖名.. · Linux结课考试自测获奖.. · 上周Linux系统命令的使.. · 上周真题冲刺测试获奖.. · 全国计算机等考四级模.. · 08年3月各大网上书店及.. |
· 网络工程师模拟测试获.. · 全国计算机软考考试指.. · 3月24日WCF聊天活动 积.. · 全国计算机等级考试四.. · 软件项目估计:第2版 · 系统分析师基础知识自.. |
|
||||
| · 微软出价446亿美元收购.. · 网络故障排除宝典 · Vista SP1对决XP SP3 · 2008年上半年全国软考.. · AIX操作系统管理应用(.. · 华为员工自杀频频拷问.. · 三层交换技术专题 · ARP攻击防范与解决方案 |
· 隐私保护技术探讨 · 反垃圾邮件技术应用 · 龙芯要做中国的“奔腾” · Windows Server 2008专.. · AMD Phenom三核处理器.. · 路由器设置与口令恢复 · 微软Forefront企业安全.. · 企业数据恢复指南 |
|||
|
||||
| · SQL Server 2008/2005.. · SOA 面向服务架构 · SQL Server 2008/2005.. · iSCSI应用与发展 · RAID——磁盘阵列基础 · Apache技术专题 · 中间件应用技术专题 · 三层交换技术专题 |
· SQL Server入门到精通 · Apache技术专题 · 国际文档格式标准开战 · 路由器设置与口令恢复 · 打造安全服务器 · PHP开发应用手册 · SOA 面向服务架构 · 企业数据恢复指南 |
|||
|
||||
| · iSCSI应用与发展 · 中间件应用技术专题 · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · Apache技术专题 · iSCSI应用与发展 · 三层交换技术专题 |
· Apache技术专题 · 企业数据恢复指南 · RAID——磁盘阵列基础 · 路由器设置与口令恢复 · SOA 面向服务架构 · ADSL应用面面俱到 · ADSL应用面面俱到 · 反垃圾邮件技术应用 |
|||