ホームページ  >  記事  >  バックエンド開発  >  php が ios 値を受信できない場合はどうすればよいですか?

php が ios 値を受信できない場合はどうすればよいですか?

藏色散人
藏色散人オリジナル
2022-10-26 10:21:201112ブラウズ

php が ios 値を受信できない問題の解決策: 1. afn を「Content-Type」に設定します; 2. 「$_POST」を「json_decode(file_get_contents('php://input')」に変更します, true)"; 3. 「manager.requestSerializer = [AFJSONRequestSerializer シリアライザー];」を削除します。

php が ios 値を受信できない場合はどうすればよいですか?

#このチュートリアルの動作環境: macOS10.12.5 システム、PHP バージョン 8.1、macbook pro 2020 コンピューター。


php が ios 値を受信できない場合はどうすればよいですか? PHP は iOS から送信された POST リクエストを受信できませんか?

大前提===》環境:macコンピュータ、mamp統合環境、webstorm開発ツール、iOSはxcodeを使用します。

問題の説明:

PHP は iOS 用のインターフェイスを作成します。GET リクエストは問題ありませんが、POST リクエストはデータを取得できません。

ガイドライン:

1 , 最初は、mamp 環境か、Webstorm 環境に問題があり、さまざまな検索設定が機能しないのかと思いました。

2. コードを通じて問題を特定し、postman を使用するか、送信後に簡単なフォームを作成してみると、正しい投稿本文データが明確に表示されます。そこで、iOS側に問題があり、出力データが欠落しているのではないかと思い、Charles Blue and White Porcelainを使ってパケットをキャプチャしたところ、本体にデータが残っていることが分かりました。質問なのですが、PHP、iOSでは問題ないようです。

その後、詳しく調べた結果、2 つの解決策が見つかりました:

a、iOS の変更点: afn は Content-Type を設定し、application/json が使用されています。データを転送したい場合は、これが json です形式をapplication/x-www-form-urlencodedに変更し、PHP側で$_POSTを使用することで正常にデータを受信できます。 (後にこの方法はうまくいかないことが判明しました...)

b, PHP側で$_POSTを使う代わりに、json_decode(file_get_contents('php://)に変更することも可能です入力')、true)。

c、実際には、afn がマネージャーを初期化するときに、manager.requestSerializer = [AFJSONRequestSerializer シリアライザー] を削除します。これで完了です。 ! ! ! !

推奨学習: 「

PHP ビデオ チュートリアル

以上がphp が ios 値を受信できない場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。