yii2 フレームワークでのインターフェースを介した ios 側からのデータ受信について

WBOY
リリース: 2016-08-31 08:54:55
オリジナル
1419 人が閲覧しました

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 にシリアル化して配信する場合、次のようにオブジェクトを受信して​​データベースに保存できます:
リーリー

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!