AJAX是“Asynchronous Javascript And XML”的缩写,从字面上解释是"异步JavaScript和XML"的简称。
它不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的 Web 应用程序的技术。它也不是一项单一的技术,而是多个技术的集合。Ajax不只包含 JavaScript 和XML, 还包含HTML、XHTML、DOM、CSS、XSTL、XMLHttpRequest等技术。
在Ajax出现之前,早就使用HTML来制作网页。随着网络的发展,HTML显露出了其局限性,于是又出现了XHML和CSS。当中,XHML用于格式化数据,CSS用于创建精美的网页风格。在静态网页不能满足用户的交互需求之后,出现了JavaScript和DOM。
JavaScript用于处理数据,DOM用于实现用户的动态交互和显示。
XML和XSTL用于进行数据的交换和处理,XMLHttpRequest则用于异步读取数据。在Ajax出现之前,这些技术差点儿都是单独使用。直到Ajax出现之后。这些技术才得到了更广泛的应用。
传统的Web处理技术中,以注冊用户信息为例,将填写完的注冊信息提交到server上。须要等待server返回处理结果。假设注冊信息须要改动,还要等待server的反馈。假设注冊信息全然有效,也要等待server的反馈结果。再比方说打开淘宝的首页,有一个用户登录的区域。登录以后。会显示自己的username。
在未使用Ajax的情况下,输入username和password后提交整个网页信息,须要又一次载入整个网页中的全部数据,这无疑会加重server的负担,同一时候也占用了很多其它的网络资源和等待时间。
当使用了异步处理技术后,能够在不又一次载入整个网页的情况下,仅仅载入登录区域的数据,实现对网页的局部更新。使用百度、谷歌等搜索引擎时。我们还没输完问题。以下就会列出相关的备选项,这就是Ajax技术的运用,默默地全心全意为用户服务。
Ajax将多种技术团结在一起,当中XMLHttpRequest主要作用是异步处理,能够选择性提交实用的数据,从而减轻server的负担和网络带宽的压力。进而提高响应速度。
DOM技术实现网页的局部更新。CSS技术带来更好的用户体验;XML和XSTL技术用于调用外部数据,能够使页面显示和数据分离。让网页更标准化。当然Ajax也有缺点,它须要浏览器中的Ajax引擎支持,所以要考虑浏览器的兼容性。有一些老版本号的浏览器不支持Ajax,不同的浏览器对Ajax的支持也不同。局部更新是Ajax的一大特点,可是浏览器并不支持局部更新的后退功能。
啰嗦了这么多,事实上就是要对Ajax有一个宏观的认识和了解。接下来我们通过一个简单的实例,从理论步入实践。