AJAX獲取和設定HTTP報頭訊息

2020-07-16 10:05:12
HTTP 請求和響應都包含一組頭部訊息,獲取和設定頭部訊息可以使用下面兩個方法。
  • getAllResponseHeaders():獲取響應的 HTTP頭部訊息。
  • getResponseHeader("Header-name"):獲取指定的 HTTP 頭部訊息。

範例

下面範例將獲取 HTTP 響應的所有頭部訊息。createXHR() 方法在建立 XMLHttpRequest 物件中講解過。
var xhr = createXHR();
var url = "server.txt";
xhr.open("GET", url, true);
xhr.onreadystatechange = function () {
    if (xhr.readyState == 4 && xhr.status == 200) {
        console.log(xhr.getAllResponseHeaders());
    }
}
xhr.send(null);
如果要獲取指定的某個頭部訊息,可以使用 getResponseHeader() 方法,引數為獲取頭部的名稱。例如,獲取 Content-Type 頭部的值,可以這樣設計。
console.log(xhr.getResponseHeader("Content-Type"));
除了可以獲取這些頭部訊息外,還可以使用 setResponseHeader() 方法在傳送請求中設定各種頭部訊息。用法如下:
xhr.setResponseHeader("Header-name", "value");
其中 Header-name 表示頭部訊息的名稱,value 表示訊息的具體值。例如,使用 POST 方法傳遞表單資料,可以設定如下頭部訊息。
xhr.setResponseHeader("Content-Type", "application/x-www-form-urlencoded");