XMLHttpRequest (XHR) 物件是 JavaScript 的核心功能,它允許您從伺服器非同步發送和接收數據,而無需刷新網頁。它構成了 AJAX(非同步 JavaScript 和 XML)的基礎,支援動態和互動式 Web 應用程式。
XMLHttpRequest 是 JavaScript 中的 API,可促進透過 HTTP 要求與伺服器進行通訊。它支援:
要使用 XHR,請建立 XMLHttpRequest 物件的實例:
const xhr = new XMLHttpRequest();
const xhr = new XMLHttpRequest();
xhr.open("GET", "https://api.example.com/data", true);
xhr.onload = function () { if (xhr.status === 200) { console.log("Response:", xhr.responseText); } else { console.error("Error:", xhr.status, xhr.statusText); } };
xhr.send();
const xhr = new XMLHttpRequest(); xhr.open("GET", "https://jsonplaceholder.typicode.com/posts", true); xhr.onload = function () { if (xhr.status === 200) { console.log("Data retrieved:", JSON.parse(xhr.responseText)); } else { console.error("Failed to fetch data. Status:", xhr.status); } }; xhr.onerror = function () { console.error("Request failed due to a network error."); }; xhr.send();
XHR 允許使用 POST 向伺服器傳送資料。
範例:
const xhr = new XMLHttpRequest(); xhr.open("POST", "https://jsonplaceholder.typicode.com/posts", true); xhr.setRequestHeader("Content-Type", "application/json"); xhr.onload = function () { if (xhr.status === 201) { console.log("Data saved:", JSON.parse(xhr.responseText)); } else { console.error("Error:", xhr.status); } }; const data = JSON.stringify({ title: "foo", body: "bar", userId: 1 }); xhr.send(data);
readyState:代表請求的狀態(0到4)。
status:HTTP 狀態代碼(例如,200 表示成功,404 表示未找到)。
responseText:回應正文作為文字字串。
responseXML:XML 資料形式的回應正文(如果適用)。
您可以使用 onreadystatechange 事件來監控 XHR 請求的進度。
範例:
const xhr = new XMLHttpRequest();
雖然 XHR 仍然受到廣泛支持,但 Fetch API 提供了一種現代的、基於承諾的方法來發出 HTTP 請求。
取得範例:
const xhr = new XMLHttpRequest();
XMLHttpRequest 是一種可靠且得到良好支援的 AJAX 呼叫工具,但現代 API(如 fetch 或函式庫(如 Axios))通常因其簡單性和增強功能而受到青睞。然而,理解 XHR 對於維護遺留程式碼和更深入了解非同步通訊在 JavaScript 中的工作原理至關重要。
嗨,我是 Abhay Singh Kathayat!
我是一名全端開發人員,擁有前端和後端技術的專業知識。我使用各種程式語言和框架來建立高效、可擴展且用戶友好的應用程式。
請隨時透過我的商務電子郵件與我聯繫:kaashshorts28@gmail.com。
以上是掌握 XMLHttpRequest:JavaScript 中 AJAX 呼叫指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!