在 JavaScript 中發(fā)送 HTTP 請求,你可以使用 `XMLHttpRequest` 對象或 `fetch` 函數(shù)。
1. 使用 XMLHttpRequest 對象:
下面是一個使用 XMLHttpRequest 對象發(fā)送 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();
在上述示例中,我們創(chuàng)建了一個 XMLHttpRequest 對象,并使用 `open()` 方法指定請求的方法(GET)、URL 和異步標志(true 表示異步請求)。
然后,我們定義了 `onload` 事件處理程序,它在請求成功完成后被觸發(fā)。我們可以檢查 `xhr.status` 來確保請求成功(200 表示成功)。然后,我們可以使用 `xhr.responseText` 獲取響應的文本數(shù)據(jù),并根據(jù)需要進行處理。
如果發(fā)生錯誤,`onerror` 事件處理程序將被觸發(fā)。
最后,我們使用 `send()` 方法發(fā)送請求。
2. 使用 fetch 函數(shù):
fetch 是基于 Promise 的現(xiàn)代瀏覽器 API,用于發(fā)送 HTTP 請求。下面是一個使用 fetch 函數(shù)發(fā)送 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 函數(shù)來發(fā)送 GET 請求,并傳遞 URL 作為參數(shù)。
然后,我們使用 Promise 的 `then()` 方法來處理響應。如果響應狀態(tài)碼是 OK(200),我們將使用 `response.json()` 方法解析響應的 JSON 數(shù)據(jù)。
如果發(fā)生錯誤,我們使用 `throw new Error()` 拋出一個錯誤。
最后,我們使用 `catch()` 方法捕獲任何可能的錯誤。
無論使用 XMLHttpRequest 對象還是 fetch 函數(shù),你可以根據(jù)需要配置請求的方法(GET、POST 等)、URL、請求頭、請求體等。
請注意,如果你使用的是瀏覽器環(huán)境外的 JavaScript 環(huán)境(如 Node.js),可能需要使用其他庫或模塊來發(fā)送 HTTP 請求,如 axios、node-fetch 等。