不同的瀏覽器實(shí)現的方式不一樣,對于Mozilla, Firefox, Safari, 和Netscape瀏覽器:
var xmlhttp=new XMLHttpRequest()
對于Internet Explorer:
var xmlhttp=CreatActiveObject("Micosoft.XMLHttp")
編程要點(diǎn):
---------------------------屬性--------------------------------
| 屬性 | 值類(lèi)型 | 說(shuō)明 |
| onreadystatechange | 回調函數名稱(chēng)的字符串 | 指明回調函數 |
| readyState | 請求狀態(tài)代碼,共四種狀態(tài): 0 未初始化 1 正在裝載 2 裝載完畢 3 交互中 4 完成 | XMLHttpRequest對象的請求狀態(tài) |
| responseText | 返回數據的字符串形式 | 以字符串形式存儲該請求返回的數據 |
| responseXML | 返回一個(gè)Xml Document對象 | 以XML數據形式存儲請求返回的數據 |
| status | 請求所返回的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í)候記著(zhù)200是OK(本地調試時(shí)OK狀態(tài)會(huì )返回0),404是NO FOUND就可以了! | 該XMLHttpRequest所做的請求返回的HTTP返回碼 |
| statusText | 字符串,此屬性只讀,以BSTR返回當前請求的響應行狀態(tài),此屬性?xún)H當數據發(fā)送并接收完畢后才可獲取。 | XMLHttpRequest所做的Http請求返回信息 |
---------------------------方法---------------------------
| 方法 | 參數 | 返回值 | 說(shuō)明 |
| abort() | 無(wú) | 無(wú) | 取消當前的請求 |
| getAllResponseHeaders() | 無(wú) | 以字符串形式返回所有的HTTP頭 | 以字符串形式返回所有的HTTP頭 |
| getResponseHeader("headerName") | headerName參數指定的http頭字符串 | 返回指定的HTTP頭字符串 | 從響應信息中獲取指定的http頭 |
| open(‘method‘,‘URL‘,async,‘uname‘,‘pswd‘) | method字符串指定用何方法發(fā)送請求,比如POST、GET、PUT及PROPFIND。大小寫(xiě)不敏感 URL字符串指定請求的HTTP地址,可以為絕對路徑也可以為相對路徑 async布爾值指定請求是否為異步方式,默認為true。如果為真,當狀態(tài)改變時(shí)會(huì )調用onreadystatechange屬性指定的回調函數。 uname字符串指定用于服務(wù)器驗證用戶(hù)名,如果服務(wù)器需要驗證,此處指定用戶(hù)名,如果未指定,當服務(wù)器需要驗證時(shí),會(huì )彈出驗證窗口。 pswd字符串指定驗證信息中的密碼部分,如果用戶(hù)名為空則此部分被忽略。 | 無(wú) | 創(chuàng )建一個(gè)新的http請求,并指定此請求的方法、URL以及驗證信息 |
| send(content) | content參數可以是任何想發(fā)送到服務(wù)器端的數據 | 無(wú) | 發(fā)送請求到http服務(wù)器并接收回應,此方法的同步或異步方式取決于open方法中的bAsync參數,如果bAsync == False,此方法將會(huì )等待請求完成或者超時(shí)時(shí)才會(huì )返回,如果bAsync == True,此方法將立即返回。如果發(fā)送的數據為XML DOM object,則回應將被編碼為在xml文檔中聲明的編碼,如果在xml文檔中沒(méi)有聲明編碼,則使用默認的UTF-8。 |
| setRequestHeader("label","value") | label字符串指定頭名稱(chēng) value字符串指定頭的值 | 單獨指定請求的某個(gè)http頭,如果已經(jīng)存在已此名稱(chēng)命名的http頭,則覆蓋之。此方法必須在open方法后調用。 |
聯(lián)系客服