AJAX是什么?
定义AJAX可不象指向W3C网页那样简单,因为它是几种技术的组合。它包括如下技术:
* XHTML 和 CSS 的标准表示;
* 使用文档对象模型DOM(Document Object Model)实现动态显示及用户交互;
* 使用 XML 、XSLT和XMLHttpRequest进行数据交换及操作;
* 使用 JavaScript 将所有技术绑定在一起。
AJAX与传统网络开发的最大不同在于采用了远程脚本调用技术。远程调用技术允许用户方的JavaScript语言向服务器发送数据请求,而不用刷新网页。这一任务是通过JavaScript语言与XMLHttpRequest对象来实现的。远程脚本调用将一部分处理过程转移到客户(浏览器),这大大减少了向网络服务器的呼求数目。
微软首次将XMLHttpRequest对象作为一个ActiveX对象应用在Windows IE5中。与这个ActiveX组件一同首次开发的还有Outlook Web Access。研发Mozilla计划的工程师推出了Mozilla 1.0(及Netscape 7)的兼容本地版,苹果公司也在他们的Safari 1.2中增加了这一支持。在一份提议的W3C标准中也包含了类似的功能。与此同时,XMLHttpRequest对象实际上已成为技术标准。
“中间人”
传统的网络应用软件首先向HTTP服务器触发一个用户行为或请求的呼求。反过来,服务器执行某些任务,再向发出请求的用户返回一个HTML页面。这是一种不连贯的用户体验,服务器在处理请求的时候,用户多数时间处于等待的状态。
AJAX则不同。它通过在用户与服务器之间引入一个中间媒介,从而消除了网络交互过程中的处理—等待—处理—等待缺点。用户的浏览器在执行任务时即装载了AJAX引擎。AJAX引擎用JavaScript语言编写,通常藏在一个隐藏的框架中。它负责编译用户界面及与服务器之间的交互。AJAX引擎允许用户与应用软件之间的交互过程异步进行,独立于用户与网络服务器间的交流。