一.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 屬性來取回由服務器返回的數據。
二.基本源碼:
var xmlHttp
function showCustomer(str)
{
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
{
alert ("Your browser does not support AJAX!");
return;
}
//設置請求響應的url
var url="getcustomer_xml.asp";
url=url+"?q="+str;
url=url+"&sid="+Math.random();
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
function stateChanged()
{
if (xmlHttp.readyState==4)
{
//responseText 以字符串返回 HTTP 響應
新聞熱點
疑難解答
圖片精選