XMLHttpRequest 對象的幾個方法和屬性

來源:互聯網
上載者:User

open():建立到伺服器的新請求。
send():向伺服器發送請求。
abort():退出當前請求。
readyState:提供當前 HTML 的就緒狀態。
responseText:伺服器返回的請求響應文本。

open() 方法來完成。該方法有五個參數:

request-type:發送請求的類型。典型的值是 GET 或 POST,但也可以發送 HEAD 請求。
url:要串連的 URL。
asynch:如果希望使用非同步串連則為 true,否則為 false。該參數是可選的,預設為 true。
username:如果需要身分識別驗證,則可以在此指定使用者名稱。該選擇性參數沒有預設值。
password:如果需要身分識別驗證,則可以在此指定口令。該選擇性參數沒有預設值。
通常使用其中的前三個參數。事實上,即使需要非同步串連,也應該指定第三個參數為 “true”。這是預設值,但堅持明確指定請求是非同步還是同步的更容易理解。

send() 只有一個參數,就是要發送的內容
雖然可以使用 send() 發送資料,但也能通過 URL 本身發送資料。
用 URL 發送資料要容易得多。如果需要發送安全資訊或 XML,可能要考慮使用 send() 發送內容
如果不需要通過 send() 傳遞資料,則只要傳遞 null 作為該方法的參數即可

onreadystatechange 該屬性允許指定一個回呼函數
需要特別注意的是該屬性在代碼中設定的位置 —— 它是在調用 send() 之前 設定的。發送請求之前必須設定該屬性,這樣伺服器在回答完成請求之後才能查看該屬性
將 XMLHttpRequest 對象的 onreadystatechange 屬性設定為要啟動並執行函數名
不需要擔心該函數的任何參數

在 Ajax 應用程式中需要瞭解五種就緒狀態:

0:請求沒有發出(在調用 open() 之前)。
1:請求已經建立但還沒有發出(調用 send() 之前)。
2:請求已經發出正在處理之中(這裡通常可以從響應得到內容標題部)。
3:請求已經處理,響應中通常有部分數 據可用,但是伺服器還沒有完成響應。
4:響應已完成,可以訪問伺服器響應並使用它。

與大多數跨瀏覽器問題一樣,這些就緒狀態的使用也不盡一致。您也許期望任務就緒狀態從 0 到 1、2、3 再到 4,但實際上很少是這種情況。一些瀏覽器從不報告 0 或 1 而直接從 2 開始,然後是 3 和 4。其他瀏覽器則報告所有的狀態。還有一些則多次報告就緒狀態 1

對於 Ajax 編程,需要直接處理的惟一狀態就是就緒狀態 4,它表示伺服器響應已經完成,可以安全地使用響應資料了

function updatePage() {<br /> if (request.readyState == 4)<br /> if (request.status == 200)<br /> alert("Server is done!");<br /> else if (request.status == 404)<br /> alert("Request URL does not exist");<br /> else<br /> alert("Error: status code is " + request.status);<br /> }</p><p> //responseText伺服器端設定的任何內容

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.