在 JavaScript 中發送 HTTP 請求,你可以使用 `XMLHttpRequest` 對象或 `fetch` 函數。
1. 使用 XMLHttpRequest 對象:
下面是一個使用 XMLHttpRequest 對象發送 GET 請求的示例代碼:
var xhr = new XMLHttpRequest();
xhr.open('GET', 'https://api.example.com/data', true);
xhr.onload = function() {
if (xhr.status === 200) {
var responseData = JSON.parse(xhr.responseText);
console.log(responseData);
}
};
xhr.onerror = function() {
console.log('Error occurred during the request.');
};
xhr.send();
在上述示例中,我們創建了一個 XMLHttpRequest 對象,并使用 `open()` 方法指定請求的方法(GET)、URL 和異步標志(true 表示異步請求)。
然后,我們定義了 `onload` 事件處理程序,它在請求成功完成后被觸發。我們可以檢查 `xhr.status` 來確保請求成功(200 表示成功)。然后,我們可以使用 `xhr.responseText` 獲取響應的文本數據,并根據需要進行處理。
如果發生錯誤,`onerror` 事件處理程序將被觸發。
最后,我們使用 `send()` 方法發送請求。
2. 使用 fetch 函數:
fetch 是基于 Promise 的現代瀏覽器 API,用于發送 HTTP 請求。下面是一個使用 fetch 函數發送 GET 請求的示例代碼:
fetch('https://api.example.com/data')
.then(function(response) {
if (response.ok) {
return response.json();
} else {
throw new Error('Request failed.');
}
})
.then(function(data) {
console.log(data);
})
.catch(function(error) {
console.log(error);
});
在上述示例中,我們使用 fetch 函數來發送 GET 請求,并傳遞 URL 作為參數。
然后,我們使用 Promise 的 `then()` 方法來處理響應。如果響應狀態碼是 OK(200),我們將使用 `response.json()` 方法解析響應的 JSON 數據。
如果發生錯誤,我們使用 `throw new Error()` 拋出一個錯誤。
最后,我們使用 `catch()` 方法捕獲任何可能的錯誤。
無論使用 XMLHttpRequest 對象還是 fetch 函數,你可以根據需要配置請求的方法(GET、POST 等)、URL、請求頭、請求體等。
請注意,如果你使用的是瀏覽器環境外的 JavaScript 環境(如 Node.js),可能需要使用其他庫或模塊來發送 HTTP 請求,如 axios、node-fetch 等。