XMLHttpRequest對象的創(chuàng)建在IE6上兼容:
var request;
if(window.XMLHttpRequest) {
? ? request = new XMLHttpRequest();//IE7+,Firefox,Chrome,Opera,Safari...
} else {
? ? request = new ActiveXObject("Microsoft.XMLHTTP");//IE6,IE5
}
XMLHttpRequest發(fā)送請求:
open
method 發(fā)送請求方法,務(wù)必大寫字母
url 請求地址
async 請求同步/異步(一般選擇異步,也就是true,默認(rèn)true,也就是不填寫)send
string
XMLHttpRequest獲取響應(yīng):
responseText:獲得字符串形式的響應(yīng)數(shù)據(jù)
responseXML:獲得 XML 形式的響應(yīng)數(shù)據(jù)
status?和?statusText:以數(shù)字和文本形式返回HTTP狀態(tài)碼
getAllResponseHeader():獲取所有的響應(yīng)報頭
getResponseHeader():查詢響應(yīng)中的某個字段的值
readyState屬性(代表服務(wù)器響應(yīng)的變化):
0:請求未初始化,open還沒調(diào)用
1:服務(wù)器鏈接已建立,open已經(jīng)調(diào)用了
2:請求已接收,也就是接收到頭信息了
3:請求處理中,也就是接收到響應(yīng)主體了
4:請求已完成,且響應(yīng)已就緒,也就是響應(yīng)完成了
監(jiān)聽服務(wù)器readyState屬性的變化:
var request = new XMLHttpRequest();
request.open("GET","get.php",true);
request.send();
request.onreadystatechange = function(){
? ? if(request.readyState===4 && request.status===200){
? ? //在響應(yīng)完成了且請求成功之后做一些事情。比如:request.reponseText(獲取服務(wù)器響應(yīng)的內(nèi)容)
? ? }
}
//onreadystatechange使在每一次readyState事件變化的時候觸發(fā)
。