返回值 | 說明 |
---|---|
0 | 未初始化。表示物件已經建立,但是尚未初始化,尚未呼叫 open() 方法 |
1 | 初始化。表示物件已經建立,尚未呼叫 send() 方法 |
2 | 傳送資料。表示 send() 方法已經呼叫,但是當前的狀態及 HTTP 頭未知 |
3 | 資料傳送中。已經接收部分資料,因為響應及 HTTP 頭不安全,這時通過 responseBody 和 responseText 獲取部分資料會出現錯誤 |
4 | 完成。資料接收完畢,此時可以通過 responseBody 和 responseText 獲取完整的響應資料 |
window.onload = function () { //頁面初始化 var b = document.getElementsByTagName("input")[0]; b.onclick = function () { var url = "server.php"; //設定請求的地址 var xhr = createXHR(); //範例化XMLHttpRequest物件 xhr.open("POST", url, true); //建立間接,要求非同步響應 xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); //設定為表單方式提交 xhr.onreadystatechange = function () { //係結響應狀態事件監聽函數 if (xhr.readyState == 4) { //監聽readyState狀態 if (xhr.status == 200 || xhr.status == 0) { //監聽HTTP狀態碼 console.log(xhr.responseText); //接收資料 } } } xhr.send("callback=functionName"); //傳送請求 } }
xhr.onreadystatechange = function () {}; //清理事件響應函數
xhr.abort(); //中止請求