AJAX Asynchronous Javascript and xml
网页数据的局部更新和交互;数据可以局部刷新,Javascript是单线程的,因此在等待请求过程中,浏览器会停止响应,而xmlHttpRequest天生就具备异步处理请求的能力。
所谓异步处理就是当前的线程发出请求后,调用会立即返回,当前线程就可以做其他事情了,一旦请求的数据处理完毕,将主动通知当前线程再来处理。这样,浏览器便不会出现长时间停止响应的情况了。
所有现代浏览器均支持 XMLHttpRequest 对象(IE5 和 IE6 使用 ActiveXObject)。
XMLHttpRequest 用于在后台与服务器交换数据。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
XMLHttpRequest可以在不中断其他浏览任务的情况下身服务器发送数据;
Ajax只是一种无需刷新页面即可从服务器(或客户端)上加载数据的手段。这些数据的形式可以是多种,而且,当数据到达时也有很多处理它们的方法可供选择。
传统的web执行模式(同步) | 基于Ajax的开发模式(异步) |
---|---|
同步:一件一件按顺序进行; | 异步:同时做; |
页面全部刷新 | 页面局部刷新;(通过DOM来局部修改页面而不是整体功能) |
请求→刷新→显示(页面) | web页面可以从多个接口获取数据 |
串行请求:用户发出一个请求,只有等请求处理完毕,用户才能进行下一步的操作; | 并行请求:下一个请求不用等待前一个请求; |
JS,XHTML,CSS,DOM,SML,XSTL;
XMLHTTPRequest对象:浏览器和服务器异步数据读取;
1 对象的初始化,主要是创建XMLHttpRequest对象(负责设置,发送)
2 发送请求,设置响应方法,请求所需数据,然后发送请求;
3 服务器接收请求并处理,通常由servlet接受请求,然后调用相应的业务方法来处理,之后对用户响应;
4 客户端响应;
5 响应方法根据响应数据修改客户端内容;
AJAX使用XML HttpRequest对象发送请求并得到服务器响应,在不需要重新载入整个页面的情况下,就可以通过DOM及时将更新的内容显示在页面上。
AJAX把服务器的角色由原本传输内容转变为传输数据,而数据格式则可以是纯文本格式和XML格式;