1、什么是AJAX?
Asynchronous Javascript And XML:异步的JS和XML,由Google2005年在GoogleSuggest应用提出,目标实现客户端和服务器“同时”运行——异步的HTTP请求和响应,客户端不会经常出现一片空白,提高用户的浏览体验。
AJAX不是一种新的编程语言,而是一种用于创建更好更快以及交互性更强的Web应用程序的技术。
2、AJAX 实现的效果:1、客户端和服务器异步运行;2、客户端页面的局部刷新;3、动态页面的静态化
3、使用Javascript向服务器提出请求并处理响应而不阻塞用户!核心对象XMLHTTPRequest(简称XHR)。通过这个对象,JavaScript 可在不重载页面的情况与Web服务器交换数据,即在不需要刷新页面的情况下,就可以产生局部刷新的效果。
4、XHR对象常用属性:
status:0服务器返回的响应消息的状态码
statusText:''服务器返回的响应消息的状态说明
responseText:''响应消息的主体----String类型
responseXML:null响应消息的主体----XMLDOM对象
timeout:0———设置XHR发起请求消息后,等待服务器给出响应消息的时间
readyState:0(只读,其值随着请求/响应的进程而自动改变)
0 - UNSENT请求消息尚未发送
1 - OPENEDXHR已创建请求消息,打开针对服务器的连接
2 - HEADERS_RECEIVED XHR 对象已经接收响应消息的头部
3 - LOADING XHR正在加载响应主体数据
4 - DONE XHR对象已经接收完毕响应消息
5、XHR对象常用事件:
onreadystatechange : fn 当XHR的readyState值发生改变,触发此句柄
ontimeout : fn 当XHR的请求超时,触发此句柄
onerror : fn当XHR发生请求/响应错误,触发此句柄
6、常用方法:
getAllResponseHeaders()获取响应消息中所有的头部
getResponseHeader(headerName)获取响应消息中指定的头部
open(METHOD,URI,isAysnc)创建一个Http请求消息,打开一个针对服务器的连接
send(null/'key1=value1&key2=value2&...')发送Http请求消息
setRequestHeader(name,value)在请求消息发送之前,设置一个请求消息头部
7、AJAX 使用步骤:
(1)创建XHR对象
var xhr = null;
if(window.XMLHttpRequest){
xhr = new XMLHttpRequest();
}else{
xhr = new ActiveXObject('Microsoft.XMLHTTP');
}
(2)绑定 onreadystatechange 事件监听函数
xhr.onreadystatechange = function(){
}
(3)创建请求消息,建立到服务器的连接
xhr.open('GET/POST','xx.php',true);
(4)xhr.send(null/data);