首頁 >常見問題 >js如何取得http狀態碼

js如何取得http狀態碼

zbt
zbt原創
2023-11-17 14:52:311375瀏覽

js可以透過使用fetch函數、fetch函數和第三方函式庫來取得http狀態碼。詳細介紹:1、使用XMLHttpRequest對象,透過呼叫XMLHttpRequest對象的status屬性,可以取得到HTTP狀態碼;2、使用fetch函數,透過then方法來處理回應,並透過response對象的status屬性取得HTTP狀態碼;3 、使用第三方函式庫等等。

js如何取得http狀態碼

本教學作業系統:windows10系統、javascript2023版本、DELL G3電腦。

在JavaScript中,可以透過以下幾種方式取得HTTP狀態碼:

1、使用XMLHttpRequest物件:

在傳統的JavaScript中,可以使用XMLHttpRequest物件來傳送HTTP請求並取得回應。透過呼叫XMLHttpRequest物件的status屬性,可以取得到HTTP狀態碼。例如:

var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://example.com/api', true);
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
console.log(xhr.status); // 输出200
}
};
xhr.send();

在上述程式碼中,透過xhr.status可以取得到HTTP狀態碼。

2、使用fetch函數:

在現代的JavaScript中,可以使用fetch函數來傳送HTTP請求並取得回應。 fetch函數傳回一個Promise對象,可以透過then方法處理回應,並透過response物件的status屬性取得HTTP狀態碼。例如:

fetch('http://example.com/api')
.then(function(response) {
if (response.ok) {
console.log(response.status); // 输出200
}
});

在上述程式碼中,透過response.status可以取得到HTTP狀態碼。

3、使用第三方函式庫:

除了原生的JavaScript方法,還可以使用一些第三方函式庫來簡化取得HTTP狀態碼的過程。例如,使用Axios函式庫:

axios.get('http://example.com/api')
.then(function(response) {
console.log(response.status); // 输出200
});

在上述程式碼中,透過response.status可以取得到HTTP狀態碼。

要注意的是,以上方法取得的HTTP狀態碼是非同步取得的,因為HTTP請求是一個非同步操作。因此,在獲取到HTTP狀態碼之前,可能需要等待一段時間。可以透過回呼函數、Promise、async/await等方式來處理非同步操作,確保在取得到HTTP狀態碼後再進行後續的操作。

另外,要注意的是,以上方法取得的HTTP狀態碼是伺服器回傳的狀態碼,而不是瀏覽器發送請求時的狀態碼。瀏覽器發送請求時的狀態碼(如404 Not Found)可以透過瀏覽器的開發者工具(如Chrome的開發者工具)來查看。

以上是js如何取得http狀態碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn