Ajax驱动的Web站点

ajax|web|站点

最近,许多Web站点开始在开发人员社区当中引起关注。这些站点独特之处在于,它们更像是桌面应用程序而非Web应用程序。当您与它们交互时,它们可以快速在浏览器显示无穷的信息而又无需重新加载页面。 

例如,在Google Maps站点(http://maps.google.com/),您可以单击地图,缩小或者放大,然后随心所欲地来回移动鼠标。浏览器会连续地从服务器读取数据,但并不需要刷新浏览器。它们使用的不是applet或者类似Flash的其他程序。那么,它们是如何工作的?

下面介绍Asynchronous JavaScript + XML,即所谓的Ajax。要准确描述什么是Ajax,最容易的方法是让其与相反的情况进行对比。对于大部分Web站点,与Web服务器进行交互是最简单的通信方式——就如您在对讲机(walkie-talkie)上与好友聊天一样。您可以一边讲话他在另一边接听,或者他说话你接听,但您不能同时接听和讲话。对于Web用户,当填写在线表单然后单击提交按钮后,整个页面就会发送至Web服务器,用户必须等待服务器接受请受。当服务器完成处理请求时,它就会将处理过的内容发送过来。只有这时,才可以最终刷新用户页面。Ajax是一种减少这一系列事件的尝试。当用户位于Ajax类型的Web站点时,浏览器可以幕后异步调用Web服务器而无需发送整个页面。

具体内容

通常,Ajax没有软件开发工具包(SDK)。它不是您可以下载的东西。尽管XML出现在Ajax名称中,但它实际上是几种可以使用甚至不使用XML技术的结合。仔细研究一下,我们就会发现它是正被使用的几项技术的混合体。JavaScript、DOM、XMLHttp以及XML是主要的角色。但要紧记,这种方法论既无标准亦无严格定义。您在一个执行程序中所看到的,可能不同于另一个执行程序中的情况。但是,Ajax执行程序中最常见的是JavaScript。

当用户与浏览器交互时,JavaScript代码会处理各种事件。比如按键或单击事件等,并会相应地进行处理。JavaScript使用XMLHttpRequest对象作为浏览器和远程服务器之间的连接。Microsoft首先在Internet Explorer 5中采用XMLHttpRequest对象。

XMLHttp-Request对象最酷的地方是它可以在背景中运行的同时与Web服务器异步进行对话,而无需重新加载页面。当Web服务器接收到浏览器的请求时,它就会进行处理并将处理过的XML数据返回至浏览器。JavaScript引擎收到这种处理过的XML数据,然后使用DOM处理相应的页面部件。例如,在Ajax驱动的页面中,如Google Suggest站点(www.google.com/webhp?complete=1&hl=en),当您输入搜索字段时,每一个字母都被异步发送至服务器。在输入时,内容快速显示在正文的下方。在幕后,每个按键都会向服务器进行数次调用。用户不会受此影响,因为交互不会被中止。只有一部分页面会被刷新。这一切都可以高效地完成,因为仅有一部分页面数据(而非整个页面数据)通过线缆发送。

Ajax并非新生事物

应该注意Ajax并非新生事物。该方法论已运用了好多年。Web站点(如Google)正在证明Ajax的有效性、稳定性,并且使Web看起来更像是一个桌面应用程序:即真正意义的Web开发。Ajax特殊之处在于它可以使用验证过的现有技术完成这一切。换句话说就是,任何标准浏览器(可以处理JavaScript和DOM的浏览器)都可以正常工作。您不需要单独安装其他插件。

在Magenic,我们可以看到这种方法论如何使我们的客户端受益。据我们所知,Ajax并非可以取代一切Web站点,但在计算机指令系统中,它应占有一席之地,并且是我们所需要的一种技能。

ASP.Net 2.0

ASP.Net 2.0可以明显提高脚本模型与这种方法论相结合。它们们称之为脚本回调而非Ajax。实际上,它们按我早先所描述的那样进行工作,但是ASP.Net 2.0通过提供工具和支持从而使之更进一步。

注意事项

1、由于许多工作都必须移交给客户端处理,所以Ajax会影响正确堆叠技术之间的命令行。当使用所现有的方法论设计此类应用程序时,应注意这一点。客户端(浏览器)需要处理更多的工作,JavaScript要完成这些工作会相当复杂。它需要处理按键、鼠标、与DOM交互、处理这些事件和服务器数据的协调等。

2、还应该注意,许多用户可能不想在浏览器上运行JavaScript。这时需要考虑Web站点用户的需要。

3、Ajax名称并非正式的。Adaptive Path的工作人员起了这个容易记住的名字。在ASP.Net 2.0中,它也被称为“脚本回调”。

  • Ajax: 一个建立Web应用的新途径
  • Ajax的错误处理机制探讨(2)
  • Ajax的错误处理机制探讨(1)
  • 初次体验.NET Ajax无刷新技术
  • Rails系统中的AJAX开发技术简析(4)
时间: 2025-01-26 16:03:28

Ajax驱动的Web站点的相关文章

使用jQuery和PHP构建一个受Ajax驱动的Web页面

大多数 PHP 开发人员都是以老式的方法学习技能.他们一般先学习如何定义和构建简单 的 PHP 页面,然后再了解如何将这些页面连接到简单的 MySQL 表,于是就可以由此进行自 己的开发了.随着技能水平的提高,他们还逐渐学会了如何创建更为复杂的 PHP 功能,以及 如何连接 MySQL 内的表并执行其他高级任务. 在这个过程中,他们有可能还会掌握 一些客户端技能来将 Web 应用程序投入使用.也有可能学会有关 XHTML 或 CSS 甚至一些 JavaScript 编程的知识.随着所参与项目的种

如何使用Ajax技术开发Web应用程序(1)

在过去,由于为了获得新数据而不得不重新加载web页面(或者加载其他页面)导致web应用程序发展被限制.虽然有其他方法可用(不加载其他页面),但是这些技术都没有被很好地支持而且有bug成灾的趋向.在过去的几个月里,一个过去并不被广泛支持的技术已经被越来越多的web冲浪者(web surfers??是指浏览器还是浏览者?)所接受,它给了开发者更多的自由开发先进的web应用程序.这些通过javascript来异步取得xml数据的应用程序,被亲切的称为"Ajax应用程序"(Asynchrono

如何使用Ajax技术开发Web应用程序(1)

在过去,由于为了获得新数据而不得不重新加载web页面(或者加载其他页面)导致web应用程序发展被限制.虽然有其他方法可用(不加载其他页面),但是这些技术都没有被很好地支持而且有bug成灾的趋向.在过去的几个月里,一个过去并不被广泛支持的技术已经被越来越多的web冲浪者(web surfers??是指浏览器还是浏览者?)所接受,它给了开发者更多的自由开发先进的web应用程序.这些通过javascript来异步取得xml数据的应用程序,被亲切的称为"Ajax应用程序"(Asynchrono

使用HTML5 和CSS3创建现代Web站点

开始之前本教程假定您具有 HTML.CSS 和 JavaScript 的一些基本经验.假定您知道什么是 HTML 元素或标记.属性表示什么.HTML 标记的基本语法.Web 页面的常规结构等等.关于 CSS,您应该熟悉元素.类.以及基于 ID 的选择器.CSS 特性的语法以及如何使用内嵌或外部样式表在您的 Web 页面中包括 CSS.最后,假定您具有一些 JavaScript 的工作知识,例如什么是变量.函数.if 语句和 for 循环以及如何在您的 Web 页面中包括 JavaScript 代

Web 站点提速的最佳实践(Best Practices for Speeding Up Your Web Site)

Web 站点提速的最佳实践(Best Practices for Speeding Up Your Web Site) 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. Best Practice

智能交通之路-查阅Web站点,移动应用,开放数据和APIs获得公共交通相关信息

简介:由于像 Google Map 和能够许多能够提供大城市公共交通数据的 Web 站点的存在,搭乘公交车 上下班 -- 或者来往于机场.商场或者球场公园 -- 变得比以往更加容易.Scott Davis 介绍了如何 利用那些可以帮助公共交通变得更加智能的技术来指导您如何去您想去的地方. 公共交通减少了交通拥挤和由此产生的污染.同时还降低了用户的压力水平和需要支付的费用.现在 许多 Web 站点和移动应用程序帮助全球各个城市的乘客,购物者和游客成为合乎道德的利己者,帮助他 们利用交通选项.本文将

在一台服务器上实现多个Web站点

web|服务器|站点 Windows 2000 Server安装成功后,一般会启动一个默认的Web站点,为整个网络提供Internet服务.在中小型局域网中,服务器往往只有一台,但是一个Web站点显然又无法满足工作需要.那么,能否在一台服务器上设置多个Web站点(以下我们简称为"一机多站")呢?答案是肯定的,并有多种途径可以达到这一目的.我们知道,网络上的每一个Web站点都有一个惟一的身份标识,从而使客户机能够准确地访问.这一标识由三部分组成,即TCP端口号.IP地址和主机头名,要实现

用AJAX开发智能Web应用程序之高级篇(2)

ajax|web|程序|高级 •标准HTML复选框不支持"校验"事件以允许取消一个GUI行为,而这种要求可能存在于某些应用程序中. 现在,让我们看一个正在构建的该控件的用法示例,它的用法可能如下情形: <checkbox id="cbx_1" value="N" labelonleft="true" label="Show Details:" onValue="Y" offValu

Ultradev实例教程:2.3 创建Web站点

web|创建|教程|站点 第二章:设置数据库 第三节:创建Web站点 动态网页都是要服务器端解释运行的,Dreavweaver Ultradev支持三种动态应用,ASP.JSP.ColdFusion,这里我们以最常用的asp作为实例.相信有不少朋友的操作系统都是windows 2000了,可以很方便的就架设起一个Web站点.用windows 9x的朋友则要另外安装Personal Web Server,这里不赘述,请找相关资料研究.用windows 2000 professional的朋友默认可