XMLHttpRequest: setRequestHeader() メソッド

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

XMLHttpRequestsetRequestHeader() メソッドは、HTTP リクエストヘッダーの値を設定します。 setRequestHeader() は、 open() の呼び出しの後、 send() の呼び出しの前に呼び出さなければなりません。同じヘッダーについてこのメソッドを複数回呼び出された場合は、複数の値が単一のリクエストヘッダーにマージされます。

最初に setRequestHeader() を呼び出した後、呼び出す度に、指定されたテキストは既存のヘッダーの内容の末尾に追加されます。

この関数を使用して Accept ヘッダーが設定されなかった場合、 send() が呼び出されると、 Accept ヘッダーは */* の値で送信されます。

セキュリティ上の理由から、ユーザーエージェントによって値が制御される禁止ヘッダー名がいくつかあります。フロントエンドの JavaScript コードからこれらのヘッダーの値を設定しようとすると、警告やエラーなしに無視されます。

さらに、 HTTP の Authorization ヘッダーをリクエストに追加することができますが、そのリクエストがオリジン間でリダイレクトされたときには削除されます。

メモ: カスタムフィールドについては、ドメインをまたがってリクエストを行うと、 "not allowed by Access-Control-Allow-Headers in preflight response" の例外に遭遇することがあります。 この場合、サーバー側でレスポンスヘッダーに Access-Control-Allow-Headers を設定する必要があります。

構文

js
setRequestHeader(header, value)

引数

値を設定するヘッダーの名前。

value

そのヘッダーの本体として設定する値。

返値

なし (undefined)。

仕様書

Specification
XMLHttpRequest Standard
# the-setrequestheader()-method

ブラウザーの互換性

BCD tables only load in the browser

関連情報