ホームページ > ウェブフロントエンド > jsチュートリアル > カスタム ヘッダーが jQuery AJAX リクエストで「Access-Control-Request-Headers」として表示されるのはなぜですか?

カスタム ヘッダーが jQuery AJAX リクエストで「Access-Control-Request-Headers」として表示されるのはなぜですか?

DDD
リリース: 2024-11-05 01:55:02
オリジナル
645 人が閲覧しました

Why Are My Custom Headers Appearing as

アクセス制御リクエスト ヘッダー: jQuery を使用した AJAX ヘッダーへの追加について理解する

jQuery AJAX リクエストでは、カスタム ヘッダーを追加してリクエストを強化できますカスタマイズ。ただし、一部のヘッダーは予期した形式で表示されない場合があります。この記事は、カスタム ヘッダーが「Access-Control-Request-Headers」として表示される理由を説明することを目的としています。

クロスオリジン リクエストが行われると、ブラウザーは OPTIONS メソッドを使用してプリフライト リクエストを実行します。このプリフライト要求により、実際の要求が許可されるかどうかが決まります。このプリフライト リクエスト中に、ブラウザは実際のリクエストで使用される HTTP メソッドとヘッダーを示すヘッダーを送信します。

そのようなヘッダーの 1 つは、「Access-Control-Request-Headers」ヘッダーです。実際のリクエストに含まれるカスタム ヘッダーがリストされます。これは、ブラウザがこれらのカスタム ヘッダーを送信するためにサーバーから許可を取得する必要があるためです。

したがって、AJAX POST リクエストでカスタム ヘッダーを送信すると、そのヘッダーは「Access-Control-Request- Headers」ヘッダーをプリフライト OPTIONS リクエストに追加します。これは、クロスオリジンのセキュリティ脆弱性を防ぐことを目的としたブラウザの動作です。

カスタム ヘッダーの問題の解決

実際のリクエストにカスタム ヘッダーを直接含めるには、次のことが不可欠です。プリフライト要求を処理し、指定されたカスタム ヘッダーにアクセス許可を付与するようにサーバーを構成します。この構成はサーバー固有であり、権限を適切に設定する必要があります。

jQuery の例

提供されている jQuery の例は、カスタム ヘッダーの設定方法を示しています。

$.ajax({
  type: "POST",
  beforeSend: function(request) {
    request.setRequestHeader("Authority", authorizationToken);
  },
  url: "entities",
  data: "json=" + escape(JSON.stringify(createRequestObject)),
  processData: false,
  success: function(msg) {
    $("#results").append("The result =" + StringifyPretty(msg));
  }
});
ログイン後にコピー

これらのガイドラインに従うことで、開発者は AJAX リクエストにカスタム ヘッダーを効果的に追加し、ブラウザがクロスオリジン セキュリティ プロトコルに準拠していることを確認できます。

以上がカスタム ヘッダーが jQuery AJAX リクエストで「Access-Control-Request-Headers」として表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート