js または jQuery を使用して Ajax リクエストにカスタム HTTP ヘッダーを追加するにはどうすればよいでしょうか? 質問する

js または jQuery を使用して Ajax リクエストにカスタム HTTP ヘッダーを追加するにはどうすればよいでしょうか? 質問する

JavaScript または jQuery を使用してカスタム HTTP ヘッダーを追加または作成する方法を知っている人はいますか?

ベストアンサー1

必要なものに応じていくつかのソリューションがあります...

個々のリクエストにカスタム ヘッダー (またはヘッダー セット) を追加する場合は、次のプロパティを追加するだけですheaders

// Request with custom header
$.ajax({
    url: 'foo/bar',
    headers: { 'x-my-custom-header': 'some value' }
});

すべてのリクエストにデフォルトのヘッダー(またはヘッダーのセット)を追加する場合は、次を使用します$.ajaxSetup()

$.ajaxSetup({
    headers: { 'x-my-custom-header': 'some value' }
});

// Sends your custom header
$.ajax({ url: 'foo/bar' });

// Overwrites the default header with a new header
$.ajax({ url: 'foo/bar', headers: { 'x-some-other-header': 'some value' } });

すべてのリクエストにヘッダー(またはヘッダーのセット)を追加する場合は、次beforeSendのようにフックを使用します$.ajaxSetup()

$.ajaxSetup({
    beforeSend: function(xhr) {
        xhr.setRequestHeader('x-my-custom-header', 'some value');
    }
});

// Sends your custom header
$.ajax({ url: 'foo/bar' });

// Sends both custom headers
$.ajax({ url: 'foo/bar', headers: { 'x-some-other-header': 'some value' } });

編集 (詳細情報):注意すべき点の 1 つは、 ではajaxSetupデフォルト ヘッダーのセットを 1 つしか定義できず、 は 1 つしか定義できないことですbeforeSend。 を複数回呼び出すとajaxSetup、最後のヘッダー セットのみが送信され、最後の送信前コールバックのみが実行されます。

おすすめ記事