ajax全名为Asynchronous Javascript And XML 异步js和xml。可以在不重新加载页面的前提下,向服务器发送和接收数据。
使用方式
1、创建XMLHttpRequest对象
var xmlHttp;
if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest(); //网景浏览器创建的方式
}else if(window.ActiveXObject){
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); //IE浏览器用此创建, request对象
}
2、设置回调函数
?绑定状态改变函数,用来判断是否连接成功和传送数据是否完成。
XMLHttpRequest的状态信息 (readyState)
就绪状态码 | 作用 |
---|
0 | XMLHttpRequest对象未初始化 | 1 | XMLHttpRequest对象开始发送请求 | 2 | XMLHttpRequest对象请求发送完成 | 3 | XMLHttpRequest对象开始读取响应,但没有结束 | 4 | XMLHttpRequest对象读取响应结束 |
常见的Http的状态码 (status)
状态码 | 说明 |
---|
200 | 服务器响应正常 | 400 | 无法找到请求的资源 | 403 | 没有访问权限 | 404 | 访问的资源不存在 | 500 | 服务器内部错误 |
?结合上述绑定的回调函数如下:
xmlHttp.onreadystatechange = function(){
if(xmlHttp.readyState == 4 && xmlHttp.status==200){ //当状态信息为4和状态码为200即为交互正确,可以接受获取服务器的响应数据了!
var obj = "("+xmlHttp.responseText +")";
var jsonObject = eval( obj );
}
}
获取服务器的响应数据的方法为: responseText:获取服务器响应的文本内容 responseXML:获取服务器响应的XML文档对象
3.建立连接和发送请求
?建立和服务器的连接的函数: open(method , url , isasync);
参数名 | 说明 |
---|
method | 请求HTTP的方法,常见的由GET或者POST | url | 请求服务器的地址 | isasync | 是否使用异步请求,true或者false |
?发送请求 : send(content) ; content参数是用来传送请求的参数 ?设置请求的头信息: setRequestHeader(header, value) ;
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlHttp.open("GET","test.action?id=1"); //打开请求
xmlHttp.send(); //发送
|