Headers: set() 方法

Baseline 已廣泛支援

此特性已得到良好確立,可跨多種裝置和瀏覽器版本使用。自 2017 年 3 月起,所有瀏覽器均支援此特性。

注意:此功能在 Web Workers 中可用。

Headers 介面的 set() 方法用於在一個 Headers 物件中為已存在的頭設定新值,或者如果該頭不存在,則新增該頭。

set()Headers.append 的區別在於:如果指定的頭已存在且接受多個值,set() 會用新值覆蓋現有值,而 Headers.append 會將新值追加到值列表的末尾。

出於安全原因,某些標頭只能由使用者代理控制。這些標頭包括禁止的請求標頭禁止的響應標頭名稱

語法

js
set(name, value)

引數

name

要設定新值的 HTTP 頭名稱。如果給定的名稱不是 HTTP 頭名稱,此方法將丟擲 TypeError

value

要設定的新值。

返回值

無(undefined)。

示例

建立空的 Headers 物件很簡單

js
const myHeaders = new Headers(); // Currently empty

您可以使用 Headers.append 向其中新增一個頭,然後使用 set() 為該頭設定新值。

js
myHeaders.append("Content-Type", "image/jpeg");
myHeaders.set("Content-Type", "text/html");

如果指定的頭尚不存在,set() 將建立它並將其值設定為指定的值。如果指定的頭已存在且接受多個值,set() 將用新值覆蓋現有值。

js
myHeaders.set("Accept-Encoding", "deflate");
myHeaders.set("Accept-Encoding", "gzip");
myHeaders.get("Accept-Encoding"); // Returns 'gzip'

您需要使用 Headers.append 將新值追加到現有值列表,而不是覆蓋它們。

規範

規範
Fetch
# ref-for-dom-headers-set①

瀏覽器相容性

另見