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

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

Barbara Streisand
リリース: 2024-11-05 10:37:02
オリジナル
239 人が閲覧しました

Why Do Custom Headers Appear in Access-Control-Request-Headers During AJAX Requests?

アクセス コントロール リクエスト ヘッダーについて

jQuery を使用して AJAX 経由で HTTP リクエストを行う場合、クロスオリジン リクエストのアクセス コントロールの問題を処理することが重要です。これの 1 つの側面は、リクエストにカスタム ヘッダーを追加することです。興味深いことに、FireBug を使用してリクエストを調べると、それぞれのヘッダーに期待される値ではなく、カスタム ヘッダーが Access-Control-Request-Headers ヘッダーに配置されているように見える場合があります。

問題の解決

この動作は、ブラウザーのセキュリティ対策と、AJAX リクエストがクロスオリジン対話を処理する方法に起因します。これを解決するには、提供された回答に概説されている手順に従います。

$.ajax({
  type: "POST",
  beforeSend: function(request) {
    request.setRequestHeader("My-First-Header", "first value");
    request.setRequestHeader("My-Second-Header", "second value");
  },
  url: url,
  data: data,
  success: function(msg) {
    alert(msg);
  }
});
ログイン後にコピー

beforeSend オプションを使用すると、リクエストが送信される前にリクエスト ヘッダーを設定できます。このオプションを使用すると、カスタム ヘッダーはリクエストに直接追加され、Access-Control-Request-Headers ヘッダーには含まれません。

結論

beforeSend オプションを使用すると、アクセス制御の問題に直面することなく、AJAX リクエストにカスタム ヘッダーを効果的に追加できます。これにより、リクエストとともに追加情報を送信し、クロスオリジン リソースと安全かつ効率的にやり取りできるようになります。

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

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