XMLHttpRequest是Ajax的核心,通過調用XMLHttpRequest對象的屬性和方法可以實現在客戶端和瀏覽器之間進行數據的異步傳輸,從而實現頁面的無刷新效果。
- onreadystatechange:指定當readyState屬性值改變時的事件處理句柄(只寫);
- readyState:返回當前請求的狀態(只讀);
- responseText:將相應信息作爲字符串返回(只讀);
- open():創建一個新的HTTP請求,並制定此請求的方法,URL以及驗證信息(用戶名/密碼);
- send():發送請求到HTTP服務器並接受迴應。
- 初始化XMLHttpRequest對象
- 指定響應處理函數
- 發送HTTP請求
- 處理服務器返回的信息
一、初始化XMLHttpRequest對象
var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
var xmlHttp = new XMLHttpRequest();
//實例化XMLHttpRequest對象
function createXMLHttpRequest(){
if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}else if(window.ActiveXObject){
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
}
二、指定響應處理函數
三、發送HTTP請求
3.1 open()方法詳解
3.2 send()方法詳解
void send(content);
四、處理服務器返回的信息
if(xmlHttp.readyState==4){
if(xmlHttp.status==200){
//do something with xmlHttp.responseText;
xmlHttp.responseText;
}
}
}
4.1 readyState屬性詳解
4.2 status、statusText屬性詳解
4.3 responseText、responseXML屬性詳解
var xmlHttp;
function AjaxFunction(){
createXMLHttpRequest();
if(xmlHttp!=null){
xmlHttp.onreadystatechange = callBack;
xmlHttp.open("get/Post","URL",true/false);
xmlHttp.send(null);
}
}
//實例化XMLHttpRequest對象
function createXMLHttpRequest(){
if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}else if(window.ActiveXObject){
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
}
//指定響應函數
function callBack(){
if(xmlHttp.readyState==4){
if(xmlHttp.status==200){
//do something with xmlHttp.responseText;
xmlHttp.responseText;
}
}
}