jQueryからPOSTしたJSONデータをサーバ側で取り出すのに苦戦
jQueryからPOSTしたJSONデータをサーバ側で取り出すのに、かなり苦戦しました。初心者まる出しですが、参考になる人がいるかもしれないので、メモしておきます。やろうとしていたこと。Tabulatorで作成した表のデータを、MySQLに登録すること。このためのやり方として考えたのは、次の処理。1.tabulatorのデータをJSONに変換tabulatorで作った表を入力I/Fとして使って、そのデータをJSONに変換します。2.JSONデータをajaxで、PHPのプログラムにPOSTajaxでPOST。受信側のプログラムはPHPで書いて、$_POST変数で受信する。3.PHPのプログラムでJSONを受け取って、SQLに変換して、MySQLを更新MySQLにはjson型を定義できて、JSONのまま更新をおこなうことも考えましたが、通常のデータ型でやることにしました。と設計していたのですが、2.のところでつまづきました。$_POSTに値が入らないのです。GoogleChromeのデバッガを使ってしらべましたが、エラーが出ているわけでないのに、値が入らない。この原因が分からなくて、調べるのに時間かかりました。まあ、初心者なので、調べるべきキーワードを知らなかった、ということですね。送信側のHTML側をデバッグしていて、送信されたデータが"Payload"となっているのが気になっていました。そして$_POST変数がまったく出てこないこと。このあたりをキーワードにして、ようやく、原因が分かりました。HTMLのフォームのデータをPOSTする場合と、JSONデータをPOSTする場合では、受信の仕方が違ってました。JSONのPOSTは、$_POSTで受けるのではなく、別の方法でした。参考にしたサイト「jsonペイロードと$_POSTについて」