不同的瀏覽器實(shí)現(xiàn)的方式不一樣,對(duì)于Mozilla, Firefox, Safari, 和Netscape瀏覽器:
var xmlhttp=new XMLHttpRequest()
對(duì)于Internet Explorer:
var xmlhttp=CreatActiveObject("Micosoft.XMLHttp")
編程要點(diǎn):
---------------------------屬性--------------------------------
| 屬性 |
值類型 |
說(shuō)明 |
| onreadystatechange |
回調(diào)函數(shù)名稱的字符串 |
指明回調(diào)函數(shù) |
| readyState |
請(qǐng)求狀態(tài)代碼,共四種狀態(tài): 0 未初始化 1 正在裝載 2 裝載完畢 3 交互中 4 完成
|
XMLHttpRequest對(duì)象的請(qǐng)求狀態(tài) |
| responseText |
返回?cái)?shù)據(jù)的字符串形式 |
以字符串形式存儲(chǔ)該請(qǐng)求返回的數(shù)據(jù) |
| responseXML |
返回一個(gè)Xml Document對(duì)象 |
以XML數(shù)據(jù)形式存儲(chǔ)請(qǐng)求返回的數(shù)據(jù) |
| status |
請(qǐng)求所返回的HTTP返回碼: "100" : Continue "101" : witching Protocols "200" : OK "201" : Created "202" : Accepted "203" : Non-Authoritative Information "204" : No Content "205" : Reset Content "206" : Partial Content "300" : Multiple Choices "301" : Moved Permanently "302" : Found "303" : See Other "304" : Not Modified "305" : Use Proxy "307" : Temporary Redirect "400" : Bad Request "401" : Unauthorized "402" : Payment Required "403" : Forbidden "404" : Not Found "405" : Method Not Allowed "406" : Not Acceptable "407" : Proxy Authentication Required "408" : Request Time-out "409" : Conflict "410" : Gone "411" : Length Required "412" : Precondition Failed "413" : Request Entity Too Large "414" : Request-URI Too Large "415" : Unsupported Media Type "416" : Requested range not satisfiable "417" : Expectation Failed "500" : Internal Server Error "501" : Not Implemented "502" : Bad Gateway "503" : Service Unavailable "504" : Gateway Time-out "505" : HTTP Version not supported
其實(shí)實(shí)際用的時(shí)候記著200是OK(本地調(diào)試時(shí)OK狀態(tài)會(huì)返回0),404是NO FOUND就可以了!
|
該XMLHttpRequest所做的請(qǐng)求返回的HTTP返回碼 |
| statusText |
字符串,此屬性只讀,以BSTR返回當(dāng)前請(qǐng)求的響應(yīng)行狀態(tài),此屬性僅當(dāng)數(shù)據(jù)發(fā)送并接收完畢后才可獲取。 |
XMLHttpRequest所做的Http請(qǐng)求返回信息 |
---------------------------方法---------------------------
| 方法 |
參數(shù) |
返回值 |
說(shuō)明 |
| abort() |
無(wú) |
無(wú) |
取消當(dāng)前的請(qǐng)求 |
| getAllResponseHeaders() |
無(wú) |
以字符串形式返回所有的HTTP頭 |
以字符串形式返回所有的HTTP頭 |
| getResponseHeader("headerName") |
headerName參數(shù)指定的http頭字符串 |
返回指定的HTTP頭字符串 |
從響應(yīng)信息中獲取指定的http頭 |
| open(‘method‘,‘URL‘,async,‘uname‘,‘pswd‘) |
method字符串指定用何方法發(fā)送請(qǐng)求,比如POST、GET、PUT及PROPFIND。大小寫不敏感 URL字符串指定請(qǐng)求的HTTP地址,可以為絕對(duì)路徑也可以為相對(duì)路徑 async布爾值指定請(qǐng)求是否為異步方式,默認(rèn)為true。如果為真,當(dāng)狀態(tài)改變時(shí)會(huì)調(diào)用onreadystatechange屬性指定的回調(diào)函數(shù)。 uname字符串指定用于服務(wù)器驗(yàn)證用戶名,如果服務(wù)器需要驗(yàn)證,此處指定用戶名,如果未指定,當(dāng)服務(wù)器需要驗(yàn)證時(shí),會(huì)彈出驗(yàn)證窗口。 pswd字符串指定驗(yàn)證信息中的密碼部分,如果用戶名為空則此部分被忽略。
|
無(wú) |
創(chuàng)建一個(gè)新的http請(qǐng)求,并指定此請(qǐng)求的方法、URL以及驗(yàn)證信息 |
| send(content) |
content參數(shù)可以是任何想發(fā)送到服務(wù)器端的數(shù)據(jù) |
無(wú) |
發(fā)送請(qǐng)求到http服務(wù)器并接收回應(yīng),此方法的同步或異步方式取決于open方法中的bAsync參數(shù),如果bAsync == False,此方法將會(huì)等待請(qǐng)求完成或者超時(shí)時(shí)才會(huì)返回,如果bAsync == True,此方法將立即返回。如果發(fā)送的數(shù)據(jù)為XML DOM object,則回應(yīng)將被編碼為在xml文檔中聲明的編碼,如果在xml文檔中沒(méi)有聲明編碼,則使用默認(rèn)的UTF-8。 |
| setRequestHeader("label","value") |
label字符串指定頭名稱 value字符串指定頭的值 |
|
單獨(dú)指定請(qǐng)求的某個(gè)http頭,如果已經(jīng)存在已此名稱命名的http頭,則覆蓋之。此方法必須在open方法后調(diào)用。 |
|