XMLHttpRequest: setRequestHeader() 方法

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

注意:此功能在 Web Workers 中可用,但 Service Workers 除外。

XMLHttpRequestsetRequestHeader() 方法用於設定 HTTP 請求頭的值。使用 setRequestHeader() 時,你必須在呼叫 open() 之後、呼叫 send() 之前呼叫它。如果使用相同的請求頭多次呼叫 setRequestHeader(),則這些值將被合併成一個單獨的請求頭。

每次在第一次呼叫 setRequestHeader() 之後再次呼叫它,指定文字都會被追加到現有請求頭內容的末尾。

如果尚未透過此方法設定 Accept 請求頭,則在呼叫 send() 時,請求將附帶一個型別為 "*/*"Accept 請求頭。

出於安全原因,存在一些由使用者代理控制值的禁止的請求頭。任何嘗試從前端 JavaScript 程式碼為這些請求頭之一設定值的操作都將被忽略,不會發出警告或錯誤。

此外,可以在請求中新增 Authorization HTTP 請求頭,但如果請求被重定向到其他源,該請求頭將被移除。

注意: 當你跨域傳送請求時,對於自定義欄位,你可能會遇到“在預檢響應中被 Access-Control-Allow-Headers 禁止”的異常。在這種情況下,你需要在伺服器端的響應頭中設定 Access-Control-Allow-Headers

語法

js
setRequestHeader(header, value)

引數

要設定其值的請求頭的名稱。

value

要作為請求頭正文設定的值。

返回值

無(undefined)。

規範

規範
XMLHttpRequest
# the-setrequestheader()-method

瀏覽器相容性

另見