了解AJAX三步走
第一步理解http請(qǐng)求的步驟
http 是計(jì)算機(jī)通過網(wǎng)絡(luò)進(jìn)行通信的規(guī)則
實(shí)現(xiàn)客戶端向服務(wù)器發(fā)送請(qǐng)求信息和服務(wù)
他是一種無狀態(tài)的協(xié)議
1.完整的http請(qǐng)求,通常需要七步
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ù)器向web瀏覽器發(fā)送數(shù)據(jù)
7.web服務(wù)器關(guān)閉TCP鏈接
2.一個(gè)http請(qǐng)求一般由四部分組成
1.http請(qǐng)求的方法或動(dòng)作,是get還是post
2.請(qǐng)求的地址路徑
3.請(qǐng)求頭,包含客戶端環(huán)境的信息,身份驗(yàn)證等
4.請(qǐng)求正文,也就是請(qǐng)求體,包含客戶端提交的查詢字符串信息,表單信息等
3.一個(gè)http響應(yīng)一般由三部分組成
一個(gè)數(shù)字和文字組成的狀態(tài)碼,顯示請(qǐng)求的狀態(tài),是成功還是失敗
http狀態(tài)碼由3位數(shù)字構(gòu)成,其中首位數(shù)字定義了狀態(tài)碼的類型
1xx:信息類,表示收到web瀏覽器請(qǐng)求,正在處理中
2xx:表示成功,請(qǐng)求被正確接受
3xx:重定向,表示請(qǐng)求沒有成功,客戶必須采取進(jìn)一步的動(dòng)作
4xx:客戶端錯(cuò)誤,表示客戶端請(qǐng)求有錯(cuò)誤
5xx:服務(wù)器錯(cuò)誤,表示服務(wù)器不能完成對(duì)請(qǐng)求的處理。
第二步知道異步的JavaScript和XML
ps:這部分內(nèi)容過多可以看一下參考資料
第三步是XMLHttpRequest對(duì)象
創(chuàng)建對(duì)象
IE7+:
var iable = new XMLHttpRequest();
IE5.5 IE6
variable=new ActiveXObject(“Microsoft.XMLHTTP”);
發(fā)送請(qǐng)求
1、open(method,url,saync)
2、setRequestHeader(“Content-type”,”application/x-www-form-urlencoded”)
3、send(string)
獲取響應(yīng)
1、responseText 獲得字符串形式的響應(yīng)數(shù)據(jù)
2、responseXML 獲得 XML 形式的響應(yīng)數(shù)據(jù)
3、status和statusText 獲取成功和失敗響應(yīng)數(shù)據(jù)
4、getAllResponseHeader() 獲取所有的響應(yīng)報(bào)頭
5、getResponseHeader()
存有 XMLHttpRequest 的狀態(tài)。從 0 到 4 發(fā)生變化。
0: 請(qǐng)求未初始化,open方法還沒有調(diào)用
1: 服務(wù)器連接已建立,open方法還沒有調(diào)用
2: 請(qǐng)求已接收,接受到頭信息
3: 請(qǐng)求處理中
4: 請(qǐng)求已完成,且響應(yīng)已就緒