天天看點

AJAX學習筆記(二、建立對象)

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