AngularJSでdeleteがOPTIONSになって失敗する。Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。登録してこのコミュニティに参加するどなたでも質問していただけますどなたでも回答していただけます最もよい回答には賛成票が入り、最上位に上がりますホーム質問タグユーザーAngularJSでdeleteがOPTIONSになって失敗する。2,295件2AngularJSを使用していて、以下のコードでサーバサイドAPIのデリートを呼び出したのですが、デリートできずになぜかメソッドがOPTIONSになってしまいます。};GoogleのdevtoolのGeneralは以下のようになっています。Headersは以下のようになっています。HeadersではメソッドはDELETEなのに、GeneralではOPTIONSになっています。AngularJSを使わないでDELETEした場合は正常に削除されていたので、サーバーサイドには問題はないと考えています。同様の問題がPOST時にも起きてそのときはconfigに以下のコードを追加し問題はなおりましたが、DELETEの場合どう直せばいいのかわかりません。わかればご教授いただけるとありがたいです。メソッドによる検査(プリフライト/preflight)を実行します。MDN上記のページにプリフライトの詳細がありますが、この問題への対応方法は以下のようにいくつか考えられます。修正だけで済む方法は存在しません。番で提供するサーバ側の修正方法については、現時点では情報が少ないため、提案を差し控えます。その方法で修正可能だったのは、ブラウザの以下の動作によるものです。以外のメソッドを使用します。用いるような場合は、リクエストでプリフライトを行います。個の銅バッジ回答ありがとうございます。1番の解決方法について、OPTIONSメソッドにはどのような処理をすればいいのでしょうか。調べてみたところ、どのメソッドが使用できるかを確認するためにOPTIONSメソッドは存在しているとわかりました。いうことは、ヘッダーにAccess-Control-Allow-Methodsを実装し、それを返すという理解でいいのでしょうか。2番について、サーバーサイドのサーバとクライアントサイドのサーバで同じポートをリッスンするにはどうしたらいいのでしょうか。useとでてできません。よろしければ以上2点について教えていただけると幸いです。ようするに、GETとPOST以外のメソッドを実装する場合はOPTIONSでそれらが使用できるということをクライント側に教えてやる必要があるという理解で正しいのでしょうか。回答ありがとうございました。6:15その理解であっています。2番については、2つのサーバを混ぜてパスで動作をそれぞれに振り分けるみたいなことをするわけですが、フロントにHTTPサーバ挟んでパスでリバースプロキシを切り替えるくらいが簡単かもしれません。|回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。