原生XMLHttpRequest屬性理解,AJAX(僅支援IE7以上)

來源:互聯網
上載者:User

理解Ajax,必須得理解XMLHttpRequest對象,以及此對象下的各種屬性,這樣才能構建出高效的Ajax應用程式。

註:文下皆用XHR對象來代替XMLHttpRequest對象來說明。

.open()方法,接受三個參數,發送請求的類型,URL地址,是否非同步發送的布爾值。

.send()方法,接受一個參數,請求主體發送的資料,如果不需要則填寫null。

.responseText方法,響應返回的文本。

.responseXML方法,如果響應的內容類型是text/xml application/xml,則儲存響應資料的XML DOM文檔。

.status方法,響應HTTP狀態。

.statusText方法,響應的HTTP狀態說明。

如果需要發送非同步,則需要.readyState屬性。readyState屬性,由0-4分別說明了其狀態。

0:未初始化,未調用open()方法。

1:啟動,已調用open()方法,但未調用send()方法。

2:發送,已調用send()方法,但未接收到響應。

3:接收,已接收到部分響應到的資料。

4:完成,全部接收響應的資料,並且可以在用戶端調用。

而status屬性,也是我們需要檢測的,對於HTTP協議,我們需要瞭解三個狀態200,300,304。

而對於readyState屬性,當它的值從一個值變化為另一個值得時候,會觸發一次readyStatechange事件,用於檢測每次狀態變化後的readyState的值。最後一步,當我們開始調用open()方法來響應資料時,還需要指定一次onreadystatechange事件,這個事件,是開始處理常式的必需。

瞭解HTTP頭部資訊:

我們需要使用setRequestHeader()方法來要求標頭部資訊,它接收兩個參數,頭部欄位的名稱與頭部欄位的值。

我們還可以使用getResponseHeader()方法來傳入頭部的欄位名稱。

我們還可以使用getAllResponseHeader()方法來擷取一個包含頭部資訊的長字串。

編碼問題:

我們需要encodeURIComponent()來進行編碼。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.