溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Ajax基礎(chǔ)知識詳解

發(fā)布時間:2020-09-10 03:27:07 來源:腳本之家 閱讀:151 作者:夏天不做夢 欄目:web開發(fā)

Ajax主要的功能是實現(xiàn)了瀏覽器端 異步 訪問服務(wù)器:通過瀏覽器的XMLHttpRequest對象發(fā)出小部分數(shù)據(jù),與服務(wù)端進行交互,服務(wù)端返回小部分數(shù)據(jù),然后更新客戶端的部分頁面。

1.先實例化XMLHttpRequest對象

var request;
if (window.XMLHttpRequest){
 request=new XMLHttpRequest();
}
else{
 request=new ActiveXObject("Microsoft.XMLHTTP");
 //兼容ie5 6
}

2.XMLHttpRequest的方法將請求發(fā)送給服務(wù)器

request.open("POST",get.php,true);//請求
//設(shè)置http的頭信息,告訴服務(wù)器我們要以send鍵值對方式發(fā)送一個表單,
request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
//POST必須設(shè)置Content-Type的值在open與send之間
request.send("name=王二狗&sex=男");//用send方法提交給服務(wù)端

3.獲取響應(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)中的某個字段的值

4.監(jiān)聽readyState屬性的變化很重要

    為0 請求未初始化,open還沒有被調(diào)用

    為1 服務(wù)器連接已建立,open已經(jīng)調(diào)用了

    為2 請求已被接收,接收到頭的信息了

    為3 請求處理中,接收到響應(yīng)體了

    為4 請求已完成,且響應(yīng)就緒,響應(yīng)完成了

//readyState變化時觸發(fā)
//通過onreadystatechange事件判斷readyState屬性的變化
request.onreadystatechange=function(){
 if(request.readyState===4&&request.status===200){
 //做一些事情 比如獲取響應(yīng)數(shù)據(jù)request.responseText
 }
}

5.完整XHR

var request=new XMLHttpRequest();//1.創(chuàng)建XHR對象
request.open("GET","get.php?number=" +表單里需要提交的數(shù)據(jù),true);//2.調(diào)用open方法
//這里如果是post請求。send的就是一個包含數(shù)據(jù)的對象
request.send();//發(fā)送一些數(shù)據(jù)
request.onreadystatechange=function(){ //3.進行監(jiān)聽判斷服務(wù)器是否正確響應(yīng)
 if(request.readyState===4&&request.status===200){
 //4.做一些事情 比如獲取服務(wù)器響應(yīng)內(nèi)容request.responseText
 }
}

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持億速云!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI