XMLHttpRequest
是 JavaScript 中的一個對象,用于在瀏覽器中創建異步 HTTP 請求。它允許你與服務器進行數據交互,而無需重新加載整個頁面。這在很多現代 Web 應用中非常有用,因為它提供了更好的用戶體驗和更快的響應時間。
以下是 XMLHttpRequest
對象的一些主要方法和屬性:
open(method, url, async)
: 打開一個新的 HTTP 請求。method
是請求方法(如 “GET” 或 “POST”),url
是請求的 URL,async
是一個布爾值,表示請求是否應該異步執行。
send(data)
: 發送 HTTP 請求。如果 method
是 “POST”,則可以將 data
作為請求體發送。否則,data
通常為空。
onreadystatechange
: 當請求的狀態發生變化時,會觸發此事件。你可以通過檢查 readyState
屬性的值來確定請求的當前狀態(如 0、1、2、3 或 4)。
status
: 返回的 HTTP 響應的狀態碼。例如,200 表示成功,404 表示未找到資源等。
responseText
或 responseXML
: 返回的 HTTP 響應的內容。responseText
是純文本格式,而 responseXML
是 XML 格式。
以下是一個簡單的示例,展示了如何使用 XMLHttpRequest
對象從服務器獲取數據:
// 創建一個新的 XMLHttpRequest 對象
var xhr = new XMLHttpRequest();
// 設置請求方法和 URL
xhr.open("GET", "https://api.example.com/data", true);
// 設置請求完成時的回調函數
xhr.onreadystatechange = function() {
// 檢查請求是否完成(readyState 為 4)且成功(狀態碼為 200)
if (xhr.readyState === 4 && xhr.status === 200) {
// 將響應文本解析為 JSON 對象
var data = JSON.parse(xhr.responseText);
// 在控制臺中顯示獲取到的數據
console.log(data);
}
};
// 發送請求
xhr.send();
這個示例展示了如何使用 XMLHttpRequest
對象發起一個異步 GET 請求,并在請求成功時處理返回的 JSON 數據。類似地,你可以使用 POST
方法發送包含數據的請求,并根據需要處理返回的數據格式(如 XML、JSON 等)。