Ajax是異步的javascript和xml Ajax的交互使用的是瀏覽器的XMLHttpRequest,通過(guò)新建XMLHttpRequest,給出請(qǐng)求url,指明請(qǐng)求方式和數(shù)據(jù)及數(shù)據(jù)類型,得到局部響應(yīng),更改頁(yè)面。
同步是必須等待,這個(gè)請(qǐng)求如果沒(méi)有執(zhí)行結(jié)束,那么就會(huì)形成阻塞;異步是發(fā)出請(qǐng)求后,仍可以做其他的事,結(jié)果返回時(shí)接收響應(yīng)。
Ajax技術(shù)核心就是XMLHttpRequest對(duì)象。
Ajax技術(shù)的工作原理:可以分成3步
1.創(chuàng)建Ajax對(duì)象:var xhr = new XMLHttpRequest();
2.xhr 發(fā)送請(qǐng)求:xhr.open('get','test.html','true');
xhr.send();
3.xhr獲取響應(yīng):
xhr.onreadystatechange = function(){
if(xhr.readystate == 4){//請(qǐng)求的狀態(tài)碼
/*
0:請(qǐng)求還沒(méi)有建立(open執(zhí)行前)
1:請(qǐng)求建立了還沒(méi)發(fā)送(執(zhí)行了open)
2:請(qǐng)求正式發(fā)送(執(zhí)行了send)
3:請(qǐng)求已受理,有部分?jǐn)?shù)據(jù)可以用,但還沒(méi)有處理完成
4:請(qǐng)求完全處理完成
*/
alert(xhr.responseText);//返回的數(shù)據(jù)
}
}

一、簡(jiǎn)述Ajax的工作原理。
通過(guò)XMLHttpRequest對(duì)象來(lái)向服務(wù)器發(fā)送異步請(qǐng)求,從服務(wù)器獲得數(shù)據(jù),然后用JavaScript來(lái)操作DOM,從而更新頁(yè)面。這其中最關(guān)鍵的就是從服務(wù)器獲得請(qǐng)求數(shù)據(jù)。
二、Ajax的交互流程是什么?
(1)啟動(dòng)獲取XMLHttpRequest對(duì)象。
(2)open打開(kāi)URL通道,并設(shè)置異步傳輸。
(3)發(fā)送數(shù)據(jù)到服務(wù)器。
(4)服務(wù)器接收數(shù)據(jù)并處理,處理完成后返回結(jié)果。
(5)客戶端接收服務(wù)器端返回。
三、HTTP的請(qǐng)求過(guò)程:
HTTP是一種無(wú)狀態(tài)的協(xié)議。(即不建立持久的連接,也就是服務(wù)端不保留連接的信息)
(1)建立TCP連接。
(2)Web瀏覽器向Web服務(wù)器發(fā)送請(qǐng)求命令。
(3)Web瀏覽器發(fā)送請(qǐng)求頭信息。
(4)Web服務(wù)器應(yīng)答。
(5)Web服務(wù)器發(fā)送應(yīng)答頭信息。
(6)Web服務(wù)器向?yàn)g覽器發(fā)送數(shù)據(jù)。
(7)Web服務(wù)器關(guān)閉TCP連接。
四、HTTP響應(yīng)的組成:
(1)一個(gè)數(shù)字和文字組成的狀態(tài)嗎,用來(lái)顯示請(qǐng)求是成功還是失敗
(2)響應(yīng)頭:響應(yīng)頭和請(qǐng)求頭一樣包含許多有用的信息,例如:服務(wù)器類型、日期時(shí)間、內(nèi)容類型和長(zhǎng)度等
(3)響應(yīng)體:即響應(yīng)正文
五、GET與POST
GET(獲取、查詢):
一般用于信息獲取,http請(qǐng)求的默認(rèn)方法
get請(qǐng)求比較安全,一般用來(lái)信息查詢而不是修改信息
get發(fā)送的信息對(duì)任何人可見(jiàn),因?yàn)樗怯肬RL傳遞參數(shù)的
對(duì)所發(fā)送信息的數(shù)量也有限制,一般在2000個(gè)字符
POST(新建、修改):
一般用于修改服務(wù)器上的資源
發(fā)送的信息嵌在HTTP請(qǐng)求的請(qǐng)求體中(發(fā)送的信息對(duì)其他人不可見(jiàn))
對(duì)所發(fā)送信息的數(shù)量無(wú)限制