最新のベータ 2 リリースで、クロスドメイン POST リクエストを Api コントローラにヒットさせるのに苦労しています。
Chrome (およびその他のブラウザー) は次のように吐き出します。
OPTIONS http://api.hybridwebapp.com/api/values 400 (Bad Request)
POST http://api.hybridwebapp.com/api/values 404 (Not Found)
この問題に関連している可能性がありますが、その回避策と web.config の追加などの他のいくつかの修正をここに適用しました
私はしばらくこれで頭を悩ませてきたので、問題を正確に再現するための解決策を作成しました。
Web アプリをロードすると、GET 用と POST 用の 2 つのボタンがあり、ボタンの横に応答が表示されます。GET が機能します。POST を正常に返すことができません。
Fiddler から原因のヒントを得ることができますが、応答を見ると Access-Controll-Allow-Origin ヘッダーにドメインが含まれているため意味がありません。
ソリューションには「ConfigurationScreenshots」と呼ばれるフォルダーがあり、IIS 構成 (Web サイトのバインド) とプロジェクト プロパティの構成のスクリーンショットがいくつか含まれており、できるだけ簡単に私を助けることができます :)
編集: このエントリをホスト ファイル (%SystemRoot%\system32\drivers\etc) に追加することを忘れないでください。
127.0.0.1 hybridwebapp.com api.hybridwebapp.com
**ステータス:** Chrome などの一部のブラウザーでは、OPTIONS 応答のエラー メッセージに関係なく、POST を続行できるようです (Firefox などの他のブラウザーでは許可されません)。しかし、私はそれが解決したとは考えていません。
OPTIONS リクエストの Fidler スクリーンショットを見てください。
Access-Control-Allow-Origin: http://hybridwebapp.com
それでもエラー:
オリジンhttp://hybridwebapp.comは許可されていません
それはまるでヘッダーを無視しているかのように完全に矛盾しています。