jQuery AJAX の使用時に「No \'Access-Control-Allow-Origin\' Header Present」エラーが発生するのはなぜですか?

Susan Sarandon
リリース: 2024-11-04 12:24:02
オリジナル
273 人が閲覧しました

Why Am I Getting a

jQuery XML エラー: 'Access-Control-Allow-Origin' ヘッダーが存在しません

はじめに

jQuery の AJAX 呼び出しを使用して別のドメインから XML ファイルを取得しようとすると、「XMLHttpRequest は ** を読み込めません。「Access-Control-Allow-Origin」ヘッダーがありません」というエラーが発生する場合があります。要求されたリソース上に存在します。」このエラーは、ブラウザの同一オリジン ポリシーが原因で発生します。

同一オリジン ポリシーについて

同一オリジン ポリシーは、Web ブラウザによって強制されるセキュリティ メカニズムです。 AJAX 呼び出しを、HTML ページをホストしているドメインと同じドメインに制限します。このポリシーは、他の Web サイトから機密データにアクセスする悪意のあるスクリプトからユーザーを保護します。

CORS (Cross-Origin Resource Sharing)

Same-Origin Policy をバイパスし、相互接続を許可するには-ドメインリクエスト、CORSを実装する必要があります。 CORS は、サーバーの応答に追加される HTTP ヘッダーのセットで、さまざまな生成元からのリソースへのアクセス許可を付与します。

「Access-Control-Allow-Origin」ヘッダー

「Access-Control-Allow-Origin」ヘッダーは CORS において重要です。どのオリジン (ドメイン) がリソースへのリクエストを行うことができるかを指定します。このヘッダーがないと、ブラウザはセキュリティ上の理由からリクエストをブロックします。

エラーの修正

このエラーを解決するには、いくつかの方法があります。

  • サーバー側の修正: 'Access-Control-Allow-Origin' ヘッダーを応答に追加して、サーバー側に CORS を実装します。
  • クライアント側の修正: CORS が有効になっているサーバー上のリモート リソースをミラーリングし、ミラーリングされたリソースにリクエストを作成します。
  • ブラウザ拡張機能: クロスオリジン リクエストを有効にするブラウザ拡張機能を使用します。ただし、これはセキュリティ上の理由から推奨されません。

追加の考慮事項

  • CORS は、サーバーが実際のデータが転送される前にリクエストを実行します。
  • 「Access-Control-Allow-Methods」や「Access-Control-Allow-Headers」など、他の CORS ヘッダーが必要になる場合があります。
  • プリフライトリクエストにより、プロセスにレイテンシが追加される可能性があります。

以上がjQuery AJAX の使用時に「No \'Access-Control-Allow-Origin\' Header Present」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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