Maison > développement back-end > Problème PHP > Que dois-je faire si php ne peut pas recevoir la valeur iOS ?

Que dois-je faire si php ne peut pas recevoir la valeur iOS ?

藏色散人
Libérer: 2023-03-17 09:36:01
original
1140 Les gens l'ont consulté

Solution pour que PHP ne reçoive pas la valeur iOS : 1. Définissez afn sur "Content-Type" ; 2. Remplacez "$_POST" par "json_decode(file_get_contents('php://input'), true)" ;3. "manager.requestSerializer = [sérialiseur AFJSONRequestSerializer] ;".

Que dois-je faire si php ne peut pas recevoir la valeur iOS ?

L'environnement d'exploitation de ce tutoriel : système macOS10.12.5, PHP version 8.1, ordinateur macbook pro 2020.

Que dois-je faire si php ne peut pas recevoir la valeur ios ? PHP ne peut pas recevoir la requête POST d'iOS ?

Prémisse principale ===》Environnement : ordinateur mac, environnement intégré mamp, outil de développement webstorm, iOS utilise xcode.

Description du problème :

PHP écrit une interface pour iOS. Il n'y a aucun problème avec les requêtes GET, mais PHP ne peut pas obtenir les données avec les requêtes POST.

Directives :

1. , ou il y a eu un problème avec l'environnement webstorm, etc. La configuration de la recherche ne fonctionne pas.

2. Localisez le problème via le code, essayez d'utiliser Postman ou rédigez un simple formulaire de soumission de publication, et vous pourrez clairement voir les données correctes du corps de la publication. Par conséquent, j'ai soupçonné qu'il y avait un problème avec iOS et que les données de sortie pourraient être manquantes, j'ai donc utilisé Charles Blue and White Porcelain pour capturer le paquet et j'ai découvert que le corps contenait des données. C'est une question. Il ne semble y avoir aucun problème sur PHP et iOS.

Ensuite, j'ai regardé de plus près et j'ai trouvé deux solutions :

a. Modifications du côté iOS : afn sets Application/json a été utilisé jusqu'à présent pour transférer des données au format json. application /x-www-form-urlencoded, utilisez $_POST du côté PHP pour recevoir les données normalement. (Plus tard, il a été prouvé que cette méthode ne fonctionnait pas...)

b, au lieu d'utiliser $_POST côté PHP, il est également possible de le changer en json_decode(file_get_contents('php://input'), vrai).

c, en fait, quand afn initialise le manager, supprimez manager.requestSerializer = [AFJSONRequestSerializer serializer] et c'est tout ! ! ! ! !

Apprentissage recommandé : "Tutoriel vidéo PHP"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal