传统的动态网页的运行: 当浏览者变更下拉式菜单中选取的项目、点选按钮或做出任何与Web服务器互动的操作时,就会产生Http Request,将整个网页内容传送到Web服务器,即使这次操作只是需要一个字段的数据,浏览器仍会将所有字段的数据都传送到Web服务器,Web服务器在收到数据后,就会执行指定的操作,然后以Http Response的方式,将执行结果全部送回浏览器(包括完全没有变动过的数据、图片、JavaScript 等)。
浏览器在收到数据时,便会将整个网页内容重新显示,所以浏览者通常会看到网页闪一下,当网络太慢或网页内容太大时,浏览者看到的可能不是一闪,而是画面停格,完全无法与网页互动,相当浪费时间。
导入Ajax技术的动态网页的运行: 当浏览者变更下拉式菜单中选取的项目、点选按钮或做出任何与Web服务器互动的操作时,浏览器端会使用JavaScript通过XMLHttpRequest对象送出异步的Http Request,此时只会将需要的字段数据传送Web服务器(不是全部数据),然后执行指定的操作,并以Http Respons的方式,将执行结果送回浏览器(不包括完全没有变动过的数据、图片、JavaScript等),浏览器在收到数据后,可以使用JavaScript通过DHTML或DOM模式来更新特定字段。 由于整个过程均使用异步技术,无论是将数据传送到服务器或接收服务器传回的执行结果并更新特定字段等操作,都是在后台运行,因此,浏览者不会看到闪一下,画面也不会停格,浏览者在这个过程中仍能进行其他操作。
Ajax是客户端的技术,它让浏览器能够与Web服务器进行异步沟通,服务器端的程序写法不会因为导入Ajax技术而有太大差异。事实上,Ajax功能已经被实现为JavaScript解释器原生的部分,导入Ajax技术的动态网页将享有下列效益: ·异步沟通无须将整个网页内容传送到Web服务器,能够节省网络带宽。 ·由于只传送部分数据,所以能够减轻Web服务器的负荷。 ·不会像传统的动态网页产生短暂空白或闪动的情况。