1

Angular JS によって PHP サーバーで API を呼び出しています。

 $http({method: 'POST', url: 'my api...',

そして、私の呼び出しは常にキャンセルされ、エラーが発生しました:

XMLHttpRequest cannot load http://kni.prz.edu.pl/querye/api/querye. Origin http://localhost is not allowed by Access-Control-Allow-Origin.

Angular JSでクロスリクエストを有効にする方法は?

キャンセルはサーバーからのものではありません。

4

2 に答える 2

1

クロス サイト リクエストを有効にするには

angularjs $http ドキュメント

ローカルホストにいないため、デプロイされたインスタンスを実行している場合、おそらくこのエラーは発生しません。

テスト目的で、次のことができます。

myApp.config(['$httpProvider', function($httpProvider) {
  $httpProvider.defaults.useXDomain = true;
  delete $httpProvider.defaults.headers.common['X-Requested-With'];
}]);
于 2013-08-22T15:06:04.163 に答える
1

問題は実際にはサーバー側にある可能性があります。クロスドメイン リクエストを許可するには、レスポンス ヘッダーを追加する必要があります。

Access-Control-Allow-Origin: *

これを追加すると、任意のドメインがホストにリクエストを送信できるようになることに注意してください。

サーバーを制御できない場合は、JSONP を試す必要があります。次を参照してください: $http.jsonp

于 2013-08-22T16:19:49.230 に答える