擦られているネタかもしれませんが、最近axiosで配列をget送信する方法を知りました。
画像ですみません。WordPressの権限の都合でカスタマイズが難しく。。
一般的にget送信でパラメータを渡す際の書き方は以下の通りかなと思います。
しかし、こう書くと以下のようなクエリパラメータが生成されます。
nameArr[]=値1&nameArr[]=値2
みたいな感じで生成されていますね。これが原因です。
ちなみに環境はNuxt.jsで、送信先はSpringで作成したAPIです。
私の環境の場合は、この”[]”が原因で、エラーが発生しています。
“`
java.lang.IllegalArgumentException: Invalid character found in the request target [/api/raceDiff?nameArr[]=%E3%82%AD%E3%83%A3%E3%83%A2%E3%83%A1&nameArr[]=%E3%83%9A%E3%83%AA%E3%83%83%E3%83%91%E3%83%BC ]. The valid characters are defined in RFC 7230 and RFC 3986
“`
以下のように文字列で連結させるようにします。
spreadArrayという名前の関数は、引数の連想配列に配列が入っていた場合に、nameArr=値1&nameArr=値2のような形式にして文字列を返却させる関数です。
開発者ツールで見てみるとこんな感じです。
これでうまく送信できます。
うーん。
もっと早く調べていれば良かった。。
POST送信にしてJSON形式にしなくても送れるんだなぁ。。