文章目錄
- onreadystatechange 屬性
- readyState 屬性
- responseText 屬性
AJAX - 更多有關 XMLHttpRequest 對象的知識
在向伺服器發送資料之前,我們有必要解釋一下 XMLHttpRequest 對象的三個重要的屬性。
onreadystatechange 屬性
onreadystatechange 屬性存有處理伺服器響應的函數。下面的代碼定義一個空的函數,可同時對 onreadystatechange 屬性進行設定:
xmlHttp.onreadystatechange=function()
{
// 我們需要在這裡寫一些代碼
}
readyState 屬性
readyState 屬性存有伺服器響應的狀態資訊。每當 readyState 改變時,onreadystatechange 函數就會被執行。
這是 readyState 屬性可能的值:
狀態 |
描述 |
0 |
請求未初始化(在調用 open() 之前) |
1 |
請求已提出(調用 send() 之前) |
2 |
請求已發送(這裡通常可以從響應得到內容標題部) |
3 |
請求處理中(響應中通常有部分資料可用,但是伺服器還沒有完成響應) |
4 |
請求已完成(可以訪問伺服器響應並使用它) |
我們要向這個 onreadystatechange 函數添加一條 If 語句,來測試我們的響應是否已完成(意味著可獲得資料):
xmlHttp.onreadystatechange=function()
{
if(xmlHttp.readyState==4
)
{
// 從伺服器的response獲得資料
}
}
responseText 屬性
可以通過 responseText 屬性來取回由伺服器返回的資料。
在我們的代碼中,我們將把時間文字框的值設定為等於 responseText:
xmlHttp.onreadystatechange=function()
{
if(xmlHttp.readyState==4)
{
document.myForm.time.value=xmlHttp.responseText
;
}
}