AngularJs の CORS 構成パズル
CORS (Cross-Origin Resource Sharing) により、1 つのオリジン (Web サイトなど) から JavaScript がアクセスできるようになります。異なるオリジン (API など) からのリソース。ただし、サーバー側で有効にする必要があります。
指定した構成はクライアント側で CORS を有効にしようとしますが、効果はありません。次のコード スニペットは、試したことを示しています。
myApp.config(function($httpProvider) { $httpProvider.defaults.useXDomain = true; delete $httpProvider.defaults.headers.common['X-Requested-With']; }); myApp.service('dataService', function($http) { delete $http.defaults.headers.common['X-Requested-With']; ... });
この構成ではクロスオリジン リクエストが許可されますが、サーバーがアクセス許可を与えるために適切な CORS ヘッダーで応答する必要があるため、失敗します。
エラー メッセージ「XMLHttpRequest は URL を読み込めません。Origin は Access-Control-Allow-Origin によって許可されていません」は、サーバーの応答に必要な CORS ヘッダーが欠落していることを示します。この問題を解決するには、アクセスしようとしている API をホストするサーバーで CORS を構成する必要があります。
提供されているリンクではクライアント側の CORS 処理について説明していますが、これは今回のケースには当てはまりません。サーバーは、別のオリジンからのリソースへのアクセスを許可するために CORS を実装する必要があります。
以上がAngularJS アプリのクライアント側 CORS 構成が機能しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。