【js】fetch apiをphpでパラメータを受信する難しさ$_POSTに上手く展開されなくないか?

徒然草2.0

jsのfetchを使って...Webサーバphpに受信させて$_POSTで取得しようとすると…上手くいかないということが多々ある。

いまだに一番いい方法というのが分かっていない。シーン別に使い分けるということができていない。てきとーにやっていらたら上手くいったから、その上手くいった方法で実装する、みたいな感じになりがち。

Vue CLI 3でaxiosを使っている時もGETにしたりFormDataにして送っていた。(そうすると送れる)headerを指定しないほうがいいなんて意見も結構あるのだが、その趣旨は適切なheaderにjsがしてくれるからjsプログラマが指定しないほうがいいというたぐいのもので、pure phpで受信できないというような話ではない。phpがrequest headersのcontent-typeあたりのステータスを見て$_POSTに展開するかどうかを決めているのだと思いそのあたりのソースコードを見たが、特に得られるものはなかった気がする。pure php(こんな言葉は世の中にないが(汗))ではなくてlaravelなんかを使っても同じ問題に落ち着くので、php固有の問題と言ってもいいとは思っている。

...というかfetchのみで実装しようとしたらつまずいてaxiosにしたが思ったほど上手くいかなかったという覚えがある。がaxiosもfetchを使っていたような...あれはaxiosじゃなかったのかな。いつか時間あるときに適切に理解したいと思って忘れてしまっている。

headersをapplication/jsonにするとまず上手くいかない、そうでない時は上手くいく...みたいな感じ。その法則性を数年間つかめていない。決まったやり方を確立すればいいのかもしれないが、まだそれに至っていない。formオブジェクトにしたほうがおおむね上手くいく感じはxhrを使った送信でもあったようななかったような。

世の中のフロントエンジニア&サーバサイドエンジニアがこの問題について、なにも言及していないということは私だけが陥っている問題なのだろうか…そんなことはないとおもうんだが。謎。みんなその辺のところは「結構いい加減」って勝手に思っているんだけど、違うのかな…。

フロントエンドエンジニアっていうけど、jsプログラマって言ったほうがほかのスマホアプリ作っている人とかと区別がつきやすくていいのではないかな?と思ったりする。

徒然草2.0
スポンサーリンク
シェアする
gomiryoをフォローする
ごみぶろぐ

コメント

タイトルとURLをコピーしました