AJAX - XMLHttpRequest 對象

XMLHttpRequest 對象用于與服務器交換數(shù)據(jù)。

XMLHttpRequest 對象

主流瀏覽器(Chrome,F(xiàn)irefox,IE7 +,Edge,Safari,Opera)都具有內(nèi)置 XMLHttpRequest 對象。

XMLHttpRequest 通過與后臺的 Web 服務器交換數(shù)據(jù),來異步更新局部網(wǎng)頁,而不必刷新整個頁面。

創(chuàng)建一個 XMLHttpRequest 對象

在客戶端和服務器之間執(zhí)行 AJAX 通信之前,首先要做的是示例化一個 XMLHttpReques t對象,如下所示:

示例
var httpRequest = new XMLHttpRequest();
測試看看?/?

跨站點XMLHttpRequest

出于安全原因,瀏覽器不允許跨域訪問。也就是當前網(wǎng)頁和 ajax 要請求的網(wǎng)頁地址要在同一個域名下。

(cainiaoplus.com)上的實例都是與(cainiaoplus.com)域中的地址交互。

如果要在自己的網(wǎng)頁上使用上面的示例,則請求的目標地址必須位于您自己的服務器上。

較舊的瀏覽器(適用于IE 6及更早版本)

Internet Explorer的舊版本(6和更早版本)使用的是ActiveX對象而不是XMLHttpRequest對象。

要處理IE6及更早版本,請檢查瀏覽器是否支持該XMLHttpRequest對象,否則創(chuàng)建一個ActiveX對象:

示例
var httpRequest;

if (window.XMLHttpRequest) {
    // 目前主流的瀏覽器(Chrome, Mozilla, Safari, IE7+, ...)
    httpRequest = new XMLHttpRequest();
} else if (window.ActiveXObject) {
    // <= IE 6 或早期IE版本
    httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
測試看看?/?

XMLHttpRequest對象屬性

下表列出了XMLHttpRequest對象的所有屬性:

屬性 描述
onreadystatechange 定義當readyState屬性更改時要調(diào)用的函數(shù)
readyState 保持XMLHttpRequest的狀態(tài):
0:請求未初始化
1:服務器連接建立
2:收到請求
3:處理請求
4:請求完成并且響應準備就緒
responseText 以字符串形式返回響應數(shù)據(jù)
responseXML 將響應數(shù)據(jù)作為XML數(shù)據(jù)返回
status 返回請求的狀態(tài)號:
200:“OK”
403:“Forbidden”
404:“Not Found”
有關完整列表,請訪問HTTP狀態(tài)代碼參考
statusText 返回狀態(tài)文本(例如,“OK”或“Not Found”)

XMLHttpRequest對象方法

下表列出了XMLHttpRequest對象的所有方法:

方法 描述
new XMLHttpRequest() 創(chuàng)建一個新的XMLHttpRequest對象
abort() 取消當前請求
getAllResponseHeaders() 返回標題信息
getResponseHeader() 返回特定的標頭信息
open(method, url, async) 指定請求
method:請求類型GETPOST
url:文件位置
async:true(異步)或false(同步)
send() 將請求發(fā)送到
用于GET請求的服務器
send(string) 將請求發(fā)送到服務器。
用于POST請求
setRequestHeader(header, value) 將HTTP標頭設置為請求
header:指定標頭名稱
value:指定標頭值
丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清