XMLHttpRequest概念性知識

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ā)






。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • AJAX 原生js操作ajax 1.創(chuàng)建XMLHttpRequest對象 var xhr = new XMLHtt...
    碧玉含香閱讀 3,574評論 0 7
  • 寫在前面 本篇主要內(nèi)容是結(jié)合“XMLHttpRequest Level 1”規(guī)范和w3school網(wǎng)站中針對XML...
    JSON_NULL閱讀 1,638評論 3 9
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,641評論 19 139
  • 本文詳細(xì)介紹了 XMLHttpRequest 相關(guān)知識,涉及內(nèi)容: AJAX、XMLHTTP、XMLHttpReq...
    semlinker閱讀 13,997評論 2 18
  • 看到標(biāo)題時,有些同學(xué)可能會想:“我已經(jīng)用xhr成功地發(fā)過很多個Ajax請求了,對它的基本操作已經(jīng)算挺熟練了?!?我...
    前端渣渣閱讀 6,054評論 1 12

友情鏈接更多精彩內(nèi)容