2017年4月7日金曜日

jsでfetchを使うときにContent-Typeに気をつけましょう的なお話

  • このエントリーをはてなブックマークに追加

サーバと通信するためにはjQueryのAjaxを使えばいいんだけど、
fetchっていうものがあったりして、reactとか使ってるとfetchとか使いたくなってくる。
というかむしろjQueryを使わなくなるわけなんだけど。

で、そのfetchを使ってPOSTする時にサーバ側でPOSTデータを受け取れないってことがあった。
ということで今日はそのお話をば。

とりあえずapplication/jsonで送る場合と、formDataを送りたい場合を書いた。
簡潔に述べるとformDataを送りたい場合は、Content-Typeを指定してはいけないということ。
指定してしまうとboundaryがうんちゃらかんちゃらだかなんだかよくわからないことになってしまってサーバ側で処理できなくなる。
なのでこれに気をつけて記述しないとダメっていう。
確かにjQueryでもformDataを送信するときはfalseにしてたしなぁって今更思ったっていう。

というかそもそもContent-Type指定しなければいいんじゃないかって思ったり思わなかったり。
ってな感じでfetchするときには気をつけましょう的なみたいな。

Adsense