Ajax首先大概说下同步交互和异步交互空洞的说写概念的话,比较抽象,所以举例说下什么是异步和同步同步就是我发送了数据,我必须等接收方接收完了才能发送下一个数据异步就是我发送了数据,接收方接收吧,我不用看着发完在发送下个数据,你只要发送完告诉我就行。Ajax的全程就是异步的javascript和xml定义的是允许浏览器与服务器通信而无须刷新当前页面的技术都被叫做AjaxAjax的模型比传统的模型好在什么地方?1.需要的页面的数量少,性能高2.同样的场景下,Ajax交互的数据小,对我们带宽的要求降低3.对服务器端造成的压力小出了Ajax技术还有flash,iframe,xmlhttprequest等技术可以实现异步交互。下面说下AJAX的工作原理客户端和服务端之间存在Ajax引擎,Ajax实现交互时,大量使用了Ajax引擎和javascript引擎AJAX 不是一种技术,它包含了javascript,xHtML和css,Dom和xmlhttprequest等Ajax的缺陷:1.Ajax不适用于任何场景,取决于浏览器的支持,客户端和服务端不刷新页面,容易使页面的缓存数据较多,用户经常搞不清楚,数据是新的还是旧的,这是就必须拿出一块地方进行专门的提示,浏览器也失去了前进和后退的功能。而且Ajax对媒体流不能很好的支持,对一些手持设备不能很好地支持,只能基本上支持Ajax异步交互下面着重说下Xmlhttprequestxmlhttprequest是javascript的对象,作用是实现客户端和服务端之间的请求和响应,是Ajax的核心对象下面说下Ajax的实现步骤:1.创建Xmlhttprequest对象2.注册监听2.1获取服务端的通信状态2.2获取服务器端的响应状态码3.建立连接4.发送请求注册监听使用xmlhttprequest对象的onreadystatechange属性:监听服务器的通信状态使用xmlhttprequest对象的readyState属性获取服务器的响应状态。使用xmlhttprequest对象的satus属性:获取响应信息的首部信息的前三位状态码客户端与服务器之间建立连接使用的是xmlhttprequest对象的open(method,url,asynch)方法请求类型有get和post两种方式向服务端发送请求数据使用xmlhttprequest对象send()方法,其中在post方式下send可以发送数据,但是必须设置请求头信息content-type使用使用Ajax异步交互时。客户端接收服务器的相应数据:使用xmlhttprequest对象的responseText属性:接受的内容是文本内容还是HTML代码客户端接收服务端的响应时,数据格式:xml客户端接收服务器端的响应时,数据格式:XML * 服务器端: * 设置响应首部信息:"Content-Type"为"text/xml" response.setContentType("text/xml;charset=utf-8"); * 手动构建的xml格式数据 * 数据来源于查询数据库,封装在javabean、List、Map和Array集合等 * 如何将javabean、List、Map和Array集合内容转换成xml数据格式? * 客户端: * 使用XMLHttpRequest对象的responseXML属性:接收的格式是XML格式 * 利用DOM解析XML格式数据