ホームページ >ウェブフロントエンド >jsチュートリアル >AWS API への AngularJS ngResource リクエストがプリフライトの Access-Control チェックに失敗するのはなぜですか?
ngResource を利用してアマゾン ウェブ サービス上の REST API と対話する場合、ユーザーは次のエラーが発生する可能性があります:
XMLHttpRequest cannot load http://server.apiurl.com:8000/s/login?login=facebook. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost' is therefore not allowed access. Error 405
このエラーは、クロスオリジン リソース共有 (CORS) に起因します。 CORS は、あるドメイン (localhost など) のリソースが別のドメイン (server.apiurl.com など) のリソースに直接アクセスできないようにするセキュリティ制限を適用します。
問題を解決するには場合は、次のアプローチを検討してください:
localhost から外部ドメインへのアクセスはクロスドメイン リクエストとなることに注意することが重要です。これにより、CORS セキュリティ メカニズムがトリガーされ、不正アクセスが防止されます。
CORS を無効にするかプラグインを使用することは、テストの迅速な解決策になる可能性がありますが、相互接続の根本的な問題には対処できません。原点コミュニケーション。プロキシを使用するか、クロスオリジン アクセスを許可するようにサーバーを構成することは、より包括的なアプローチです。
以上がAWS API への AngularJS ngResource リクエストがプリフライトの Access-Control チェックに失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。