1

リモートサーバーでnginxを使用していますが、このOPTIONS方法をサポートしていないため、ひどく立ち往生しています。サーバーと angular の両方が相互に通信することを拒否します。

単純な $http.post() リクエストを作成したいだけです。POSTリクエストのみを送信し、OPTIONSでプリフライトを行わないようにサービスを構成する方法はありますか?

4

2 に答える 2

3

これは AngularJS が行うことではなく、Cross-Origin Resource Sharing 標準に従ってブラウザが行うことです。関連する問題に関するこの回答も参照してください

ただし、AngularJS アプリケーションがリソースと同じドメインから提供されるようにすると (異なるサブドメインがクロスオリジンに影響します)、リソースがクロスオリジンからではなくなるため、ブラウザは OPTIONS リクエストを送信しません。サーバ。

例:

  • www.example.com が api.example.com のリソースを要求すると、OPTIONS 要求がトリガーされます
  • www.example.com が www.example.com/api からのリソースをリクエストしても、 OPTIONS リクエストはトリガーされません
于 2013-08-10T11:36:01.257 に答える
1

CORS が避けられない場合は、リクエストのヘッダーを text/plain に変更し、以下のリンクの回答に従って手動でレスポンスを解析できます。

AngularJS で OPTIONS プリフライト リクエストをスキップする方法

于 2015-09-25T21:44:30.137 に答える