Comment POSTER des données JSON avec PHP cURL, les renvoyer dans un format lisible
Votre code ne publie pas correctement les données JSON, même sur votre serveur , il renvoie un tableau vide. Pour implémenter REST en utilisant JSON comme dans l'API de Shopify, nous devons résoudre ce problème.
Correction de la requête POST
Pour résoudre le problème, nous devons encoder l'intégralité Données POST en JSON, pas seulement le champ « client ». Modifiez votre code comme suit :
$ch = curl_init($url); # Setup request to send JSON via POST. $payload = json_encode(array("customer" => $data)); curl_setopt($ch, CURLOPT_POSTFIELDS, $payload); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json')); # Return response instead of printing. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); # Send request. $result = curl_exec($ch); curl_close($ch); # Print response. echo "<pre class="brush:php;toolbar:false">$result";
Accès aux données POST
Sur l'autre page, nous ne pouvons pas utiliser $_POST pour récupérer les données POST à cause du serveur- analyse latérale. Utilisez plutôt file_get_contents("php://input"), qui contient le JSON POSTé. Pour afficher les données dans un format lisible :
echo '<pre class="brush:php;toolbar:false">'.print_r(json_decode(file_get_contents("php://input")),1).'';
Considérations supplémentaires
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!