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

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);

 


Tweet
comments powered by Disqus