AJAX是Asynchronous JavaScript And XML(异步javascript和XML)的简写,由多种WEB技术组合而成,是WEB2.0技术的一项核心。各种技术在AJAX中的应用如图1-1。
图1-1 各种技术在AJAX中的应用[1]
AJAX主要提供客户端与服务器端的异步通信,如用户填写注册信息时,当填写用户名完后,输入框失去焦点时,客户端通过AJAX的XMLHttpRequest对象向服务器发出异步请求,发送输入的用户名。服务器接收到数据,并进行查询数据库操作,判断是否存在该用户名,并将结果返回给客户端。此时将使用javascript、DHTML和CSS来对用户界面进行相应的更新,提示用户是否存在,而不是像传统WEB设计模式那样,刷新整个页面。而此通信过程对用户来说是完全透明的。
XMLHttpRequest对象简介
AJAX技术的实现机制有两种方式:XMLHTTP和IFRAME。在早期开发聊天室的时候,基本都是采用IFRAME,设计一个页面通过IFRAME嵌入到主页面中,然后只对IFRAME中页面数据进行更新,实现局部刷新的功能。但是它原始设计不是用来进行异步通信的。为此各大浏览器开发商在开发浏览器时,专门设计了一个可以进行异步通信的XMLHttpRequest对象。虽然此对象不是官方的DOM标准,各种版本浏览器创建XMLHttpRequest对象方式也不尽相同,但它得到了多数浏览器的支持,已经成为了一个“民间标准”。图1-2说明了XMLHttpRequest对象主要属性和方法在AJAX技术中的实现方式。
图1-2 XMLHttpRequest对象工作方式