XMLHttpRequest 對象
XMLHttpRequest對象是AJAX 的基礎。
XMLHttpRequest 術語縮寫為XHR,中文可以解釋為可擴充超文本傳輸請求。
XMLHttpRequest 對象可以在不向伺服器送出整個頁面的情況下,實作局部更新網頁。
XMLHttpRequest的對象用于用戶端和伺服器之間的異步通信。
它執行以下操作:
1、在背景從用戶端發送資料
2、從伺服器接收資料
3、更新網頁而不重新加載
建立XMLHttpRequest對象
所有現代浏覽器(IE7+、Firefox、Chrome、Safari 以及 Opera)均内建 XMLHttpRequest 對象。
建立 XMLHttpRequest 對象的文法:
var xmlhttp=new XMLHttpRequest();
老版本的 Internet Explorer (IE5 和 IE6)使用 ActiveX 對象:
var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
是以一般為了适應所有浏覽器,建立XMLHttpRequest對象是這種寫法:
var xmlhttp;
if (window.XMLHttpRequest)
{
// IE7+, Firefox, Chrome, Opera, Safari 浏覽器執行代碼
xmlhttp=new XMLHttpRequest();
}
else
{
// IE6, IE5 浏覽器執行代碼
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
XMLHTTPRequest對象屬性
XMLHttpRequest對象的常見屬性如下:
屬性 | 描述 |
onreadystatechange | 存儲函數(或函數名),每當readyState的屬性改變時,就會調用該函數。 |
readyState | 存有的XMLHttpRequest的狀态從0到4發生變化。 0:請求未初始化 1:伺服器連接配接已建立 2:請求已接收 3:請求進行中 4:請求已完成,且響應已就緒 |
reponseText | 以文本形式傳回響應。 |
responseXML | 以XML格式傳回響應。 |
status | 将狀态傳回為數字(例如,“Not Found”為404,“OK”為200)。 |
statusText | 以字元串形式傳回狀态(例如,“Not Found”或“OK”) |
XMLHTTPRequest對象方法
XMLHTTPReuest對象常用方法如下:
方法 | |
abort() | 取消目前請求。 |
getAllResponseHeaders() | 以字元串形式傳回完整的HTTP标頭集。 |
getResponseHeader( headerName ) | 傳回指定HTTP标頭的值。 |
void open(method,URL) | 打開指定擷取或交的方法和URL的請求。 |
void open(method,URL,async) | 與上面相同,但指定異步或不。 |
void open(method,URL,async,userName,password) | 與上面相同,但指定使用者名和密碼。 |
void send(content) | 發送擷取請求。 |
setRequestHeader( label,value) | 将标簽/值對添加到要發送的HTTP标頭。 |
參考:
【1】、
https://www.runoob.com/ajax/ajax-xmlhttprequest-create.html【2】、
https://www.w3cschool.cn/ajax/ajax-xmlhttprequest-create.html