多数 web 应用程序都使用请求/响应模型从服务器上获得完整的 html 页面.常常是点击一个按钮,等待服务器响应,再点击另一个按钮,然后再等待,这样一个反复的过程.有了 ajax 与 xmlhttprequest 对象,就可以使用不必让用户等待服务器响应的请求/响应模型了.本文中,brett mclaughlin 介绍了如何创建能够适应不同浏览器的 xmlhttprequest 实例,建立与发送请求,并响应服务器.
本文中,您将开始接触最基本与基础性的有关 ajax 的全部对象与编程方法:xmlhttprequest 对象.该对象实际上仅仅是一个跨越所有 ajax 应用程序的公共线程,您可能已经预料到,只有彻底理解该对象才能充分发挥编程的潜力.事实上,有时您会发现,要正确地使用 xmlhttprequest,显然不能 使用 xmlhttprequest.这到底是怎么回事呢?
在深入研究代码之前首先看看最近的观点 —— 一定要十分清楚 web 2.0 这个概念.听到 web 2.0 这个词的时候,应该首先问一问 “web 1.0 是什么?” 虽然很少听人提到 web 1.0,实际上它指的就是具有完全不同的请求与响应模型的传统 web.比如,到 amazon.com 网站上点击一个按钮或者输入搜索项.就会对服务器发送一个请求,然后响应再返回到浏览器.该请求不仅仅是图书与书目列表,而是另一个完整的 html 页面.因此当 web 浏览器用新的 html 页面重绘时,可能会看到闪烁或抖动.事实上,通过看到的每个新页面可以清晰地看到请求与响应. 【程序编程相关:CacheLogic发布中国互联网流量分】
web 2.0 一瞥 【推荐阅读:新的SPECjbb记录诞生 SUN再次领】
需要关心的是如何使这些新的交互成为可能.显然,仍然需要发出请求与接收响应,但正是针对每次请求/响应交互的 html 重绘造成了缓慢.笨拙的 web 交互的感受.因此很清楚,我们需要一种方法使发送的请求与接收的响应只 包含需要的数据而不是整个 html 页面.惟一需要获得整个新 html 页面的时候就是希望用户看到 新页面的时候. 【扩展信息:Java源码生成工具FireStorm/】
web 2.0(在很大程度上)消除了这种看得见的往复交互.比如访问 google maps 或 flickr 这样的站点.比如在 google maps 上,您可以拖动地图,放大与缩小,只有很少的重绘操作.当然这里仍然有请求与响应,只不过都藏到了幕后.作为用户,体验更加舒适,感觉很像桌面应用程序.这种新的感受与范型就是当有人提到 web 2.0 时您所体会到的.
但多数交互都是在已有页面上增加细节.修改主体文本或者覆盖原有数据.这些情况下,ajax 与 web 2.0 方法允许在不 更新整个 html 页面的情况下发送与接收数据.对于那些经常上网的人,这种能力可以让您的应用程序感觉更快.响应更及时,让他们不时地光顾您的网站.
xmlhttprequest 简介
要真正实现这种绚丽的奇迹,必须非常熟悉一个 javascript 对象,即 xmlhttprequest.这个小小的对象实际上已经在几种浏览器中存在一段时间了,它是本专栏今后几个月中要介绍的 web 2.0.ajax 与大部分其他内容的核心.为了让您快速地大体了解它,下面给出将要用于该对象的很少的几个 方法与属性.
open():建立到服务器的新请求. send():向服务器发送请求.... 下一页