1.获取Ajax对象:获取XMLHttpRequest对象实例
function getXhr(){ var xhr = null; if(window.XMLHttpRequest){ xhr = new XMLHttpRequest();//非IE浏览器 }else{ xhr = new ActiveXObject(‘Microsoft.XMLHttp‘);//IE浏览器 } return xhr; }
2.设置回调函数:为Ajax对象的readystatechange事件设定响应函数
xhr.onreadystatechange = function(){ if(xhr.readyState == 4 && xhhr.status == 200){ var txt = xhr.responseText; //DOM操作 } }
3.创建请求:调用XMLHttpRequest对象的open方法
3.1创建请求-GET请求
xhr.open(‘get‘,‘*.do‘,true);
注意:
true:表示发送异步请求(当Ajax对象发送请求时,用户仍然可以对当前页面做其他操作)
false:表示发送同步请求(当Ajax对象发送请求时,浏览器会锁定当前页面,用户不可以对当前页面做其他操作)
3.2创建请求-POST请求
xhr.open(‘post‘,‘*.do‘,true); xhr.setRequestHeader(‘content-type‘,‘application/x-www-form-urlencoded‘);
注意: setRequestHeader的作用:因为HTTP协议要求发送post请求时,必须有content-type消息头 但是默认情况下xhr(即Ajax对象)不会添加该消息头,所以,需要调用setRequestHeader方 法,添加这个消息头
4.调用Ajax对象的send方法
GET 请求:xhr.send(null); POST 请求:xhr.send(name1=value1 & name2=value2);
GET请求:
-send方法内传递null
-若要提交数据,则在open方法的"URL"后面追加
-如:xhr.open(‘get‘,‘xx.do?name1=value1&name2=value2‘,true);
时间: 2024-08-06 22:49:51