ホームページ > ウェブフロントエンド > jsチュートリアル > クロスオリジンリクエストを行うときに「'Access-Control-Allow-Origin' ヘッダーが存在しません」というエラーが表示されるのはなぜですか?

クロスオリジンリクエストを行うときに「'Access-Control-Allow-Origin' ヘッダーが存在しません」というエラーが表示されるのはなぜですか?

DDD
リリース: 2024-12-28 09:43:17
オリジナル
999 人が閲覧しました

Why Am I Getting a

JavaScript でデータを取得するときに「Access-Control-Allow-Origin' ヘッダーが存在しません」

クロスオリジン リソース共有 (CORS) ) は、Web ブラウザーが他のドメインにリクエストを送信できるようにするメカニズムであり、さまざまなドメインによってもたらされるセキュリティ上の懸念に対処します。起源。 CORS を有効にするには、サーバーは応答に「Access-Control-Allow-Origin」などの特定のヘッダーを含める必要があります。

1。 CORS プロキシの使用

サーバーに必要なヘッダーがない場合は、クライアントとサーバーの間に CORS プロキシを実装できます。 CORS Anywhere などのこのプロキシは、不足しているヘッダーを含めるように応答を書き換えることができるため、クロスオリジン リクエストが可能になります。

2. CORS プリフライトの回避

CORS プリフライト リクエストは、サーバーがクロスオリジン リクエストを許可するかどうかを判断するためにブラウザーによって送信される OPTIONS リクエストです。プリフライトのトリガーを回避するには、リクエストを次のようにしてください:

  • 認証情報 (Authorization ヘッダー) を使用しないでください。
  • カスタム Content-Type ヘッダーなしでサーバーによって受け入れられたメディア タイプを使用してください (例: アプリケーション) /x-www-form-urlencoded).

3.ワイルドカード Access-Control-Allow-Origin ヘッダーの修正

ブラウザは、資格情報を含むリクエストに対するワイルドカード (*) Access-Control-Allow-Origin ヘッダーを含む応答を拒否します。代わりに、ヘッダー値は要求元のクライアントの発信元と一致する必要があります。これを修正するには:

  • Origin リクエスト ヘッダーを Access-Control-Allow-Origin レスポンス ヘッダーにエコーするようにサーバーを設定します。
  • Chrome CORS プラグインを使用しないでください。これにより false が発生する可能性があります。ポジティブ。

4.リクエストとレスポンスのヘッダー

Access-Control-Allow-* ヘッダーを設定する JavaScript コード (headers.append(...)) 内の行を削除します。これらは、リクエストに含めるべきではないレスポンス ヘッダーです。

以上がクロスオリジンリクエストを行うときに「'Access-Control-Allow-Origin' ヘッダーが存在しません」というエラーが表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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