Maison  >  Article  >  développement back-end  >  Comment gérer les requêtes JSON avec le type de contenu « application/JSON » en PHP ?

Comment gérer les requêtes JSON avec le type de contenu « application/JSON » en PHP ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-20 22:58:30367parcourir

How to Handle JSON Requests with

PHP gère la requête JSON avec le type de contenu Application/JSON

Lors de l'envoi d'une requête AJAX avec le type de contenu défini sur "application/json", Le comportement par défaut de PHP lors de la réception des paramètres de la requête devient ambigu. Ce problème survient car PHP s'attend à ce que les paramètres de publication soient codés en URL, alors que les données codées en JSON ne le sont pas.

Dans de tels scénarios, si le type de contenu est "application/json", l'accès aux paramètres via le $ de PHP _POST (utilisé pour les données codées en URL) renverra un tableau vide. Pour gérer correctement les requêtes JSON en PHP, une approche alternative est nécessaire.

Solution : Utiliser file_get_contents() pour récupérer les données JSON

Au lieu de s'appuyer sur $_POST, PHP fournit la fonction file_get_contents() pour lire les données brutes provenant de diverses sources, y compris le flux d'entrée PHP. Lorsqu'elle est combinée avec json_decode(), cette fonction vous permet d'analyser et d'utiliser des données codées en JSON dans votre script PHP.

Voici un exemple qui montre comment gérer une requête JSON avec le type de contenu « application/json » dans PHP :

<code class="php"><?php
$json_data = json_decode(file_get_contents('php://input'));
var_dump($json_data);
?></code>

Dans cet exemple, file_get_contents('php://input') récupère les données JSON brutes de la requête, et json_decode() les convertit en un tableau ou un objet, qui peut ensuite être consulté et traité ultérieurement dans votre script.

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!

Déclaration:
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