XMLHttpRequest對象是AJAX的關鍵。一直以來的Internet Explorer 5.5是在2000年7月發布的,但之前不能完全被發現使用,人們開始於2005年談談AJAX和Web 2.0.
XMLHttpRequest(XHR)可以將JavaScript,JScript,VBScript中和其他網頁瀏覽器腳本語言使用來傳輸和處理XML數據到和從Web服務器使用HTTP的API,建立一個網頁的客戶端的端之間的獨立連接通道和服務器端.
從XMLHttpRequest調用返回的數據,往往會提供後端數據庫。除了XML,XMLHttpRequest的可用於獲取其他格式的數據,例如JSON或者甚至純文本.
你已經看到了幾個例子,如:如何創建一個XMLHttpRequest對象.
下麵列出的方法和屬性,你有一些熟悉.
abort()
取消當前的請求.
getAllResponseHeaders()
作為一個字符串返回的一套完整的HTTP標頭.
getResponseHeader( headerName )
返回指定的HTTP頭的值.
open( method, URL )
open( method, URL, async )
open( method, URL, async, userName )
open( method, URL, async, userName, password )
指定方法,URL,並請求其他可選屬性.
該方法的參數可以有價值的“GET”,“POST”或“HEAD”。其他HTTP方法,如“PUT”和“DELETE”(主要用於REST中的應用),是可能的
“異步”參數指定是否應請求異步處理或冇有。 “true”是指進行發送後,腳本處理send()方法,無需等待響應,“false”的手段,等待腳本的腳本處理,然後再繼續響應.
send( content )
發送請求.
setRequestHeader( label, value )
標簽/值對添加到要發送的HTTP頭.
onreadystatechange
為每個狀態變化觸發的事件,在事件處理程序.
readyState
readyState屬性定義了XMLHttpRequest對象的當前狀態.
這裡的readyState屬性格式的可能值:
State | Description |
---|---|
0 | 未初始化請求 |
1 | 請求已建立 |
2 | 請求已發送 |
3 | 請求過程中 |
4 | 請求完成 |
readyState=0 after you have created the XMLHttpRequest object, but before you have called the open() method.
readyState=1 after you have called the open() method, but before you have called send().
readyState=2 after you have called send().
readyState=3 瀏覽器與服務器建立通信,但服務器之前已完成了響應.
readyState=4 請求後已完成,並已經完全從服務器收到響應數據.
responseText
Returns the response as a string.
responseXML
返回為XML響應。此屬性返回一個XML文檔對象,它可以使用W3C DOM節點樹的方法和屬性的研究和分析.
status
Returns the status as a number (e.g. 404 for "Not Found" and 200 for "OK").
statusText
Returns the status as a string (e.g. "Not Found" or "OK").