表2-1顯示了XMLHttpRequest對象的一些典型方法。不要擔心,稍後就會詳細介紹這些方法。
下面來更詳細地討論這些方法。
void open(string method, string url, boolean asynch, string username, string password):這個方法會建立對伺服器的調用。這是初始化一個請求的純指令碼方法。它有兩個必要的參數,還有3個選擇性參數。要提供調用的特定方法(GET、POST或PUT),還要提供所調用資源的URL。另外還可以傳遞一個Boolean值,指示這個調用是非同步還是同步的。預設值為true,表示請求本質上是非同步。如果這個參數為false,處理就會等待,直到從伺服器返迴響應為止。由於非同步呼叫是使用Ajax的主要優勢之一,所以倘若將這個參數設定為false,從某種程度上講與使用XMLHttpRequest對象的初衷不太相符。不過,前面已經說過,在某些情況下這個參數設定為false也是有用的,比如在持久儲存頁面之前可以先驗證使用者的輸入。最後兩個參數不說自明,允許你指定一個特定的使用者名稱和密碼。
void send(content):這個方法具體向伺服器發出請求。如果請求聲明為非同步,這個方法就會立即返回,否則它會等待直到接收到響應為止。選擇性參數可以是DOM對象的執行個體、輸入資料流,或者串。傳入這個方法的內容會作為請求體的一部分發送。
void setRequestHeader(string header, string value):這個方法為HTTP請求中一個給定的首部設定值。它有兩個參數,第一個串表示要設定的首部,第二個串表示要在首部中放置的值。需要說明,這個方法必須在調用open()之後才能調用。
在所有這些方法中,最有可能用到的就是open()和send()。XMLHttpRequest對象還有許多屬性,在設計Ajax互動時這些屬性非常有用。
void abort():顧名思義,這個方法就是要停止請求。
string getAllResponseHeaders():這個方法的核心功能對Web應用開發人員應該很熟悉了,它返回一個串,其中包含HTTP請求的所有響應首部,首部包括Content-
Length、Date和URI。
string getResponseHeader(string header):這個方法與getAllResponseHeaders()是對應的,不過它有一個參數表示你希望得到的指定首部值,並且把這個值作為串返回。
除了這些標準方法,XMLHttpRequest對象還提供了許多屬性,如表2-2所示。處理XMLHttpRequest時可以大量使用這些屬性。
表2-2 標準XMLHttpRequest屬性
返回“Ajax基礎教程-目錄”