ホームページ >バックエンド開発 >PHPチュートリアル >yii2 フレームワークでのインターフェースを介した ios 側からのデータ受信について
Yii::$app->request->post(); を使用して ios からデータを受信し、受信したデータを印刷すると、値が null であることが表示されます。 $_data = empty($_POST) ? json_decode(file_get_contents('php://input'), TRUE) を使用すると、ios からデータを受け取ることで値を取得できますが、これに限ります。データが受信されない場合、ここでエラーが報告されます。データ受信の問題についてご指導ください
Yii::$app->request->post(); を使用して ios からデータを受信し、受信したデータを印刷すると、値が null であることが表示されます。 $_data = empty($_POST) ? json_decode(file_get_contents('php://input'), TRUE) を使用すると、ios からデータを受け取ることで値を取得できますが、これに限ります。データが受信されない場合、ここでエラーが報告されます。データ受信の問題についてご指導ください
IOSのHTTPリクエストヘッダを確認してくださいリクエストヘッダの設定に問題があるはずです 弊社のiOS子供靴リクエストインターフェースではこのようなことは起きていません
iOS がアップロードしたときに json 形式が指定されていない可能性があります。
$_SERVER['CONTENT_TYPE'] を出力して、application/json であるかどうかを確認できます。
そうでない場合は、試してみてください。
リーリー
これは、メッセージ本文を json 形式のメッセージに直接パッケージ化する、iOS によって送信されるリクエスト パッケージである必要があります。
そのため、PHP 側は file_get_contents('php://input') を使用してメッセージ本文を取得する必要があります。
以前iOSのリクエストヘッダーを作っていたので、リクエストヘッダーがちゃんと設定されているか聞いてみました
ちなみに、jsonデータを取り出す正式な方法はこうなるはずです
$body = Yii::$app->request->getRawBody ();
json_decode($body,true);
API が Yii2 フレームワークに基づいて開発されている場合、次の方法でデータを受信できます:
リクエストメソッドの取得:
リーリー
投稿リクエスト方法:リーリー
クライアントがデータを送信するときの Content-Type が application/json の場合、config.php ファイルの request セクションで次のように設定する必要があります:リーリー
このようにして、json形式で渡された値を正常に取得することができます。クライアントがオブジェクトを json にシリアル化して配信する場合、次のようにオブジェクトを受信してデータベースに保存できます:
リーリー