Ajax 在 Web 应用程序中的应用有效地缓解了来自用户体验方面的问题。那么,什么是 Ajax,其技术组成是怎样的,它给我们又带来了什么呢?
什么是 Ajax?
Ajax 的英文名为 “Asynchronous JavaScript and XML”,直译成中文意为“异步 JavaScript 和 XML”。第一次提出这个概念的是Jesse James Garrett,他在《Ajax:A New Approach to Web Application》一文中首次提出了这个概念。我们注意到在 JavaScript 前有一个关键字“异步”,在 Ajax 技术架构中,这个“异步”起着非常关键的作用,它使得 Ajax可以轻松实现无刷新等一般 Web 应用程序难以实现的功能。间从 Ajax 全称的字面意义上看,这种技术包含了 JavaScript 技术和 XML 技术,然而其技术内涵并不止包含这两种技术,对于 Ajax 技术,其概念的始作俑者 Garrett 有如下描述:
1、使用 XHTML + CSS 来表示信息;
2、使用 JavaScript 操作 DOM (Document Object Model)进行动态显示及交互;
3、使用 XML 和 XSLT 进行数据交换及相关操作;
4、使用 XMLHttpRequest 对象与 Web 服务器进行异步数据交换;
5、使用 JavaScript 将所有的东西绑定在一起。
无论从哪个方面看,上面的描述给人印象深刻的是 Ajax 使用了大量 JavaScript 和 XML 相关技术,此外还使用了网页技术中的 XHTML、CSS、DOM技术。
Ajax 不是一门新技术,是一门创新技术。具有异步数据请求和 Web 页面数据的无刷新改变等特性。打个比方,现在我们想象有一个大池塘,我们如何能够做到丢入一块石头后使水纹影响的范围最小呢?有效的方式就是将大池塘隔离成若干个小池塘。这样,被丢的哪个小池塘就有影响,其它小池塘无影响。Ajax 的使用使整个网页这一“大池塘”变成了许多“小池塘”,当“小池塘”需要与服务器交互的时候,在页面上波及的范围只有“小池塘”自身,而不影响其他部分,从而减少了不必要的网络数据传输。Ajax 改变了传统的 Web 表单提交方式。