Ajax基礎(chǔ)知識(shí)詳解
Ajax主要的功能是實(shí)現(xiàn)了瀏覽器端 異步 訪(fǎng)問(wèn)服務(wù)器:通過(guò)瀏覽器的XMLHttpRequest對(duì)象發(fā)出小部分?jǐn)?shù)據(jù),與服務(wù)端進(jìn)行交互,服務(wù)端返回小部分?jǐn)?shù)據(jù),然后更新客戶(hù)端的部分頁(yè)面。
1.先實(shí)例化XMLHttpRequest對(duì)象
var request;
if (window.XMLHttpRequest){
request=new XMLHttpRequest();
}
else{
request=new ActiveXObject("Microsoft.XMLHTTP");
//兼容ie5 6
}
2.XMLHttpRequest的方法將請(qǐng)求發(fā)送給服務(wù)器
request.open("POST",get.php,true);//請(qǐng)求
//設(shè)置http的頭信息,告訴服務(wù)器我們要以send鍵值對(duì)方式發(fā)送一個(gè)表單,
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)報(bào)頭 getResponseHeader() 查詢(xún)響應(yīng)中的某個(gè)字段的值
4.監(jiān)聽(tīng)readyState屬性的變化很重要
為0 請(qǐng)求未初始化,open還沒(méi)有被調(diào)用
為1 服務(wù)器連接已建立,open已經(jīng)調(diào)用了
為2 請(qǐng)求已被接收,接收到頭的信息了
為3 請(qǐng)求處理中,接收到響應(yīng)體了
為4 請(qǐng)求已完成,且響應(yīng)就緒,響應(yīng)完成了
//readyState變化時(shí)觸發(fā)
//通過(guò)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對(duì)象
request.open("GET","get.php?number=" +表單里需要提交的數(shù)據(jù),true);//2.調(diào)用open方法
//這里如果是post請(qǐng)求。send的就是一個(gè)包含數(shù)據(jù)的對(duì)象
request.send();//發(fā)送一些數(shù)據(jù)
request.onreadystatechange=function(){ //3.進(jìn)行監(jiān)聽(tīng)判斷服務(wù)器是否正確響應(yīng)
if(request.readyState===4&&request.status===200){
//4.做一些事情 比如獲取服務(wù)器響應(yīng)內(nèi)容request.responseText
}
}
以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!
相關(guān)文章
JS遠(yuǎn)程獲取網(wǎng)頁(yè)源代碼實(shí)例
獲取網(wǎng)頁(yè)源代碼的方法有很多,本文為大家介紹下使用JS是如何做到的,感興趣的朋友可以學(xué)習(xí)下哦2013-09-09
論壇特效代碼收集(落伍轉(zhuǎn)發(fā)-不錯(cuò))
論壇特效代碼收集(落伍轉(zhuǎn)發(fā)-不錯(cuò))...2006-12-12
Javascript 檢測(cè)鍵盤(pán)按鍵信息及鍵碼值對(duì)應(yīng)介紹
Javascript中有3個(gè)事件句柄在對(duì)應(yīng)鍵盤(pán)的輸入狀態(tài):按鍵被按下(按下按鍵但還沒(méi)有抬起)、點(diǎn)擊按鍵(按下并抬起按鍵)、按鍵抬起(按鍵抬起之后),接下來(lái)詳細(xì)介紹,感興趣的朋友可以了解下2013-01-01
微信小程序使用scroll-view標(biāo)簽實(shí)現(xiàn)自動(dòng)滑動(dòng)到底部功能的實(shí)例代碼
本文通過(guò)實(shí)例代碼給大家介紹了微信小程序使用scroll-view標(biāo)簽實(shí)現(xiàn)自動(dòng)滑動(dòng)到底部功能,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2018-11-11
JavaScript類(lèi)型相關(guān)的常用操作總結(jié)
這篇文章主要給大家總結(jié)介紹了關(guān)于JavaScript類(lèi)型相關(guān)的常用操作,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-02-02
博客側(cè)邊欄模塊跟隨滾動(dòng)條滑動(dòng)固定效果的實(shí)現(xiàn)方法(js+jquery等)
現(xiàn)在很多的獨(dú)立博客和網(wǎng)站如人人網(wǎng)等,都使用了讓側(cè)邊欄模塊隨滾動(dòng)條滑動(dòng)而位置固定的效果2013-03-03
JS數(shù)組求和的幾種常見(jiàn)方法總結(jié)
js的數(shù)組與我們?nèi)粘I钪械臄?shù)組一樣,都是會(huì)進(jìn)行求和計(jì)算的,下面這篇文章主要給大家介紹了關(guān)于JS數(shù)組求和的幾種常見(jiàn)方法,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-01-01
javascript實(shí)現(xiàn)簡(jiǎn)單放大鏡效果
這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)簡(jiǎn)單放大鏡效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09

