在常见的JavaScript编程中,如果需要从服务器中的文件或数据库中得到任何的信息,或者向服务器发送信息的话,就必须通过HTML表单使用GET或POST的方法,向服务器提交数据。传统的Web应用程序结构如图9.1所示,当用户单击"提交"按钮后等待服务器的响应,然后页面会加载返回结果。由于每当用户提交输入后,服务器都会将全部页面的元素返回页面,这种方式实际造成了严重的资源浪费。相同的部分没有被重复的使用,哪怕是最微小的改变都要加载全部的页面元素,这种重载方法使得Web应用变得越来越不友好。广州网站设计
![]() |
| 图9.1 传统Web应用程序结构 |
![]() |
| 图9.2 AJAX模式应用程序结构 |
通过上图描述的AJAX执行流程,可以总结出一个AJAX应用程序与服务器进行一次交互的过程,分为以下几个步骤。
(1)用户在Web页面上执行了某个操作,如单击某个链接或选中某个选项等。广州网站建设
(2)根据用户的操作,页面产生相应的DHTML事件。
(3)调用注册到该DHTML事件的客户端JavaScript事件处理函数。其中,需要创建并初始化一个用以向服务器发送异步请求的XMLHttpRequest对象,同时指定一个回调函数。当服务器端的响应返回时,将自动调用该回调函数。
(4)服务器收到XMLHttpRequest对象的请求之后,根据请求进行一系列的处理。广州网站建设
(5)处理完毕,服务器端向客户端返回所需要的数据。
(6)数据到达客户端之后执行JavaScript回调函数,并根据返回的数据对用户显示界面进行更新。
(7)用户获得自己操作所需的数据,对应看到显示界面的变化(数据更新)。
通过使用HTTP请求,Web页面可向服务器进行请求,得到来自服务器的响应,并在客户端采用JavaScript处理来自服务器的响应。因为服务器和浏览器之间交换的数据大量减少,从而使得Web应用响应更快。同时,很多处理工作可以在发出请求的客户端机器上完成,Web服务器的处理量减少了。由于是异步更新整个过程没有页面的刷新,所以具有很高的用户交互性,几乎觉察不到延迟的Web应用。
总地来说,AJAX模式相比传统Web应用程序具有以下特点:
通过异步模式,提升用户体验。广州网站建设
优化浏览器和服务器之间的数据传输,减少不必要的往返数据,减少了带宽占用量。
AJAX引擎在客户端运行,承担了一部分原本由服务器承担的工作,从而减少了大用户量下的服务器负载。





