Dynamic-Mess.com


"The world is a dynamic mess of jiggling things..."

PHP : $_POST est vide quand on envoie du JSON

Article posté le 11-08-2015 dans la catégorie PHP

Article mis à jour le : 05-05-2022

Comprendre pourquoi le tableau $_POST est vide quand on envoie des données en JSON

L'envoie de données en json, par exemple avec une requête Ajax, en POST, suprend plus d'un quand il s'agit de récuperer les dites données côté PHP.

Prenons l'exemple de ce petit script, côté js :

$.ajax({
    url: 'http://www.monsite.com/adresse',
    method: 'post',
    data: JSON.stringify({a: 'moi', b: 'toi'}),
    contentType: 'application/json'
});

Un var_dump côté PHP vous retournera ceci :

array(0) { }

Pourquoi? Parce que PHP ne traite les données envoyées via une requête de type POST que si le contenu est de type application/x-www-form-urlencoded ou multipart/form-data.

Dans les autres cas, il faut faire le travail soit-même :

$_POST = json_decode(file_get_contents('php://input'), true);

 


Cet article vous a plu? Découvrez d'autres articles :


comments powered by Disqus