AJAX,Asynchronous JavaScript and XML (異步的JavaScript和XML),一種創(chuàng)建交互式網(wǎng)頁(yè)應(yīng)用的網(wǎng)頁(yè)開(kāi)發(fā)技術(shù)方案。
Ajax主要就是使用 【XmlHttpRequest】對(duì)象來(lái)完成請(qǐng)求的操作,該對(duì)象在主流瀏覽器中均存在(除早起的IE),Ajax首次出現(xiàn)IE5.5中存在(ActiveX控件)。
XmlHttpRequest對(duì)象介紹
a. void open(String method,String url,Boolen async)
用于創(chuàng)建請(qǐng)求
參數(shù):
method: 請(qǐng)求方式(字符串類型),如:POST、GET、DELETE...
url: 要請(qǐng)求的地址(字符串類型)
async: 是否異步(布爾類型)
b. void send(String body)
用于發(fā)送請(qǐng)求
參數(shù):
body: 要發(fā)送的數(shù)據(jù)(字符串類型)
c. void setRequestHeader(String header,String value)
用于設(shè)置請(qǐng)求頭
參數(shù):
header: 請(qǐng)求頭的key(字符串類型)
vlaue: 請(qǐng)求頭的value(字符串類型)
d. String getAllResponseHeaders()
獲取所有響應(yīng)頭
返回值:
響應(yīng)頭數(shù)據(jù)(字符串類型)
e. String getResponseHeader(String header)
獲取響應(yīng)頭中指定header的值
參數(shù):
header: 響應(yīng)頭的key(字符串類型)
返回值:
響應(yīng)頭中指定的header對(duì)應(yīng)的值
f. void abort()
終止請(qǐng)求
XmlHttpRequest對(duì)象的主要屬性:
a. Number readyState
狀態(tài)值(整數(shù))
詳細(xì):
0-未初始化,尚未調(diào)用open()方法;
1-啟動(dòng),調(diào)用了open()方法,未調(diào)用send()方法;
2-發(fā)送,已經(jīng)調(diào)用了send()方法,未接收到響應(yīng);
3-接收,已經(jīng)接收到部分響應(yīng)數(shù)據(jù);
4-完成,已經(jīng)接收到全部響應(yīng)數(shù)據(jù);
b. Function onreadystatechange
當(dāng)readyState的值改變時(shí)自動(dòng)觸發(fā)執(zhí)行其對(duì)應(yīng)的函數(shù)(回調(diào)函數(shù))
c. String responseText
服務(wù)器返回的數(shù)據(jù)(字符串類型)
d. XmlDocument responseXML
服務(wù)器返回的數(shù)據(jù)(Xml對(duì)象)
e. Number states
狀態(tài)碼(整數(shù)),如:200、404...
f. String statesText
狀態(tài)文本(字符串),如:OK、NotFound...