アクセス制御リクエスト ヘッダー: 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 サイトの他の関連記事を参照してください。