投稿者 : 藤沢瞭介(Ryosuke Hujisawa) りょすけと申します。18歳からプログラミングをはじめ、今はフロントエンドでReactを書いたり、AIの勉強を頑張っています。off.tokyoでは、ハイテクやガジェット、それからプログラミングに関する情報まで、エンジニアに役立つ情報を日々発信しています!

PHPでPOST受け取れないと思ったら – React Native

更新日 :

 

やりたかったこと

ネイティブ側のフォームからパスワードとメアドを入力してもらい、それをPHPへPOST送信、ちゃんと受け取れてるかPHP側で受け取ったPOSTをネイティブ側でリクエストの結果をレスポンスで受け取ってアラート表示させるというもの。

できねえ

ネイティブ側でこういう風に書いて


    body: JSON.stringify({

    password: value.password,

    username: value.username

    })

PHP側でこういう風に受け取っても空っぽ


$_POST['password']; 
$_POST['username'];

原因

見過ごしていた、ネイティブ側の送信側で、ヘッダーがこういう風になっていた。これじゃあできないわな。クライアント側では直接JSONを本文に投げてきていた。Content-Type:application/json で送信されると、key=valueが無いので当然ながら、$_POST変数が空っぽになります。


    headers: {
    'Accept': 'application/json',
    'Content-Type': 'application/json',
    },

解決

こんな感じですね。file_get_contents(‘php://input’);の部分はコピペでいいよ。

 

✴︎この先はOFF無料会員様のみ読むことが出来ます。無料でOFF会員になって限定記事を余すことなく読みませんか?新規登録はこちらから。既に会員の読者様はこちらからログインをどうぞ。

関連記事