質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

Q&A

解決済

1回答

3459閲覧

axiosのPOST通信が全てOPTIONSになる

mei1216

総合スコア28

Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

0グッド

1クリップ

投稿2020/03/01 09:36

編集2020/03/01 10:06

PYTHONのflaskでAPIを作り、curlでリクエストとレスポンスを受け取ることは成功しています。

linux

1curl --location --request POST 'http://~~~~~/article_contents' \ 2> --header 'Content-Type: application/json' \ 3> --data-raw '{"url": "https://~~~~~","xpath":"//h1"} 4```ただ、実際にブラウザ上からaxiosでPOSTリクエストを送ると、実際に送られるメソッドはどれもOPTIONSになりました。 5 6恐らくリクエスト側のaxiosに原因があると思っていますので、 7以下私が試したaxiosの方法と、Chromeのheadersを記述します。 8原因がありましたら教えて頂けると幸いです。 9 10**1.Content-Typeをapplication/x-www-form-urlencoded形式で送る方法** 11[https://qiita.com/taroc/items/f22f7dd5d6d5443c72a4#applicationx-www-form-urlencoded%E5%BD%A2%E5%BC%8F%E3%81%A7%E9%80%81%E3%82%8B](https://qiita.com/taroc/items/f22f7dd5d6d5443c72a4#applicationx-www-form-urlencoded%E5%BD%A2%E5%BC%8F%E3%81%A7%E9%80%81%E3%82%8B) 12 13**URLSearchParamsを使う方法** 14```axios 15const params = new URLSearchParams(); 16 params.append('hoge', hoge); 17 axios.post('/api/fuga', params) 18```●URLSearchParamsのHeaders 19![URLSearchParams](ee38755abb50700ab4407d6f661e329f.png) 20 21**qsを使う方法** 22```axios 23var qs = require('qs'); 24axios.post('/foo', qs.stringify({ 'bar': 123 })); 25```●qsのHeaders 26![qs](1702692f753dd5c3e43c3b1bae6f14e9.png) 27※application/x-www-form-urlencodedになっていない... 28 29**2.Content-Typeをそのままで送る方法** 30```axios 31 axios({ 32 method: 'post', 33 url: /api/fuga', 34 headers: {}, 35 data: { 36 url: url, 37 xpath: "//h1", 38 } 39 }) 40```●Headers 41![そのまま](3d4e1ce22fcf4ce294364a063fc9e647.png)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

申し訳ございません。POSTのURLの最後にスラッシュが入ってるのが原因でした...
こんなことで1日くらい消費してしまった.../(^O^)\

投稿2020/03/01 11:50

mei1216

総合スコア28

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問