术语Ajax用来描述一组技术,它使浏览器可以为用户提供更为自然的浏览体验。在Ajax之前,Web站点强制用户进入提交/等待/重新显示范例,用户的动作总是与服务器的“思考时间”同步。Ajax提供与服务器
异步通信
的能力,从而使用户从请求/响应的循环中解脱出来。借助于Ajax,可以在用户单击按钮时,使用JavaScript和
DHTML
立即更新UI,并向服务器发出异步请求,以执行更新或查询数据库。当请求返回时,就可以使用JavaScript和
CSS
来相应地更新UI,而不是刷新整个页面。最重要的是,用户甚至不知道浏览器正在与服务器通信: Web站点看起来是即时响应的。
虽然Ajax所需的基础架构已经出现了一段时间,但直到最近异步请求的真正威力才得到利用。能够拥有一个响应极其灵敏的Web站点确实激动人心,因为它最终允许开发人员和设计人员使用标准的HTML/CSS/JavaScript 堆栈 创建“桌面风格的(desktop-like)”可用性。
定义Ajax
Adaptive Path公司的Jesse James Garrett这样定义Ajax:
Ajax不是一种技术。实际上,它由几种蓬勃发展的技术以新的强大方式组合而成。Ajax包含:
* 基于 XHTML 和CSS标准的表示;
* 使用Document Object Model进行动态显示和交互;
* 使用 XMLHttpRequest 与服务器进行异步通信;
* 使用JavaScript绑定一切。
虽然Ajax所需的基础架构已经出现了一段时间,但直到最近异步请求的真正威力才得到利用。能够拥有一个响应极其灵敏的Web站点确实激动人心,因为它最终允许开发人员和设计人员使用标准的HTML/CSS/JavaScript 堆栈 创建“桌面风格的(desktop-like)”可用性。
定义Ajax
Adaptive Path公司的Jesse James Garrett这样定义Ajax:
Ajax不是一种技术。实际上,它由几种蓬勃发展的技术以新的强大方式组合而成。Ajax包含:
* 基于 XHTML 和CSS标准的表示;
* 使用Document Object Model进行动态显示和交互;
* 使用 XMLHttpRequest 与服务器进行异步通信;
* 使用JavaScript绑定一切。
但为什么要以Ajax命名呢?其实术语Ajax是由Jesse James Garrett创造的,他说它是“Asynchronous JavaScript + XML的简写”。
AJAX 是与服务器交换数据并更新部分网页的艺术,在不重新加载整个页面的情况下。有很多使用 AJAX 的应用程序案例:新浪微博、Google 地图、开心网等等。
ajax技术解决了很多其它技术解决不了的问题,比如:
(1)页面无刷新的动态数据交换。
(2)局部刷新页面【验证用户名唯一】。
(3)界面的美观 【增强用户体验】。
(4)对数据库的操作。
(5)可以返回简单的文本格式,也可以返回 xml文件格式(这几年很少用了), json数据格式。