掌握 Ajax,第 2 部分: 使用 JavaScript 和 Ajax 发出异步请求
在 Web 请求中使用 XMLHpRequest
多数应用程序都使用请求响应模型从服务器上获得完整的页面。常常是点击
一个按钮,等待服务器响应,再点击另一个按钮,然后再等待,这样一个反复的过程。有
了和对象,就可以使用不必让用户等待服务器响应的请求响应模型
了。本文中,介绍了如何创建能够适应不同浏览器的实例,
建立和发送请求,并响应服务器。
本系列的上一期文章(请参阅参考资料中的链接),我们介绍了应用程序,考察了
推 动 应 用 程 序 的 基 本 概 念 。 其 中 的 核 心 是 很 多 您 可 能 已 经 了 解 的 技 术 :
、和、一点动态以及!"(文档对象模型)。本文将放大其
中的一点,把目光放到具体的细节上。
本 文 中 , 您 将 开 始 接 触 最 基 本 和 基 础 性 的 有 关 的 全 部 对 象 和 编 程 方 法 :
对象。该对象实际上仅仅是一个跨越所有应用程序的公共线程,您可
能已经预料到,只有彻底理解该对象才能充分发挥编程的潜力。事实上,有时您会发现,
要正确地使用,显然不能使用。这到底是怎么回事呢?
#$%一瞥
在深入研究代码之前首先看看最近的观点——一定要十分清楚#$%这个概念。听到
#$%这个词的时候,应该首先问一问“&$%是什么?”虽然很少听人提到&$%,
实际上它指的就是具有完全不同的请求和响应模型的传统。比如,到'()$)'网
站上点击一个按钮或者输入搜索项。就会对服务器发送一个请求,然后响应再返回到浏览
器。该请求不仅仅是图书和书目列表,而是另一个完整的页面。因此当浏览器
用新的页面重绘时,可能会看到闪烁或抖动。事实上,通过看到的每个新页面可以
清晰地看到请求和响应。
#$%(在很大程度上)消除了这种看得见的往复交互。比如访问*))或+,
这样的站点(到这些支持#$%和站点的链接请参阅参考资料)。比如在*))
上,您可以拖动地图,放大和缩小,只有很少的重绘操作。当然这里仍然有请求和响
应,只不过都藏到了幕后。作为用户,体验更加舒适,感觉很像桌面应用程序。这种新的
感受和范型就是当有人提到#$%时您所体会到的。
需要关心的是如何使这些新的交互成为可能。显然,仍然需要发出请求和接收响应,但正
是针对每次请求响应交互的重绘造成了缓慢、笨拙的交互的感受。因此很清
楚,我们需要一种方法使发送的请求和接收的响应只包含需要的数据而不是整个页
面。惟一需要获得整个新页面的时候就是希望用户看到新页面的时候。
但多数交互都是在已有页面上增加细节、修改主体文本或者覆盖原有数据。这些情况下 ,
和#$%方法允许在不更新整个页面的情况下发送和接收数据。对于那些经
常上网的人,这种能力可以让您的应用程序感觉更快、响应更及时,让他们不时地光顾您
评论0
最新资源