Envoyer du JSON au serveur via POST
Bonjour.
J'ai besoin d'envoyer une série de valeurs que j'ai récupéré depuis le serveur comme ceci afin de les utiliser en javascript :
Code:
1 2 3 4 5 6 7 8 9 10
|
$reponse = $mysql_connect->query('SELECT * FROM mydatabase' );
while ($test = $reponse->fetch() ){
?>
<?php if ( $test['pseudo'] == $_SESSION['pseudo'] ){
echo '<script>var donnees = '.json_encode($test).' ;</script>';
}
?>
<?php
} |
pour les envoyer j'utilise une requete XMLHttpRequest :
Code:
1 2 3 4 5
|
var xhr = getXMLHttpRequest();
xhr.open("POST", "savedatas.php", true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.send(JSON.stringify(donnees)); |
et enfin j'essaye de les récupérer depuis ma page php :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
<?php
$data = json_decode($_POST);
if (isset($data["id"])) {
try{
$mysql_connect = new PDO('mysql:host=www.monsite.com;dbname=dtbtest','test', 'test');
$mysql_connect -> exec( 'UPDATE mydatabase SET value= '.$data["value"].' WHERE pseudo = '.$data["pseudo"].' ');
}
catch(Exception $e){
}
echo "OK";
}
?> |
Malheureusement, ça ne fonctionne pas.
Si je passe manuellement moi même une donnée exemple "pseudo=mazerty&value=17" par contre ça marche.
Savez vous, donc, comment faire passer un objet json via POST ?
Merci :aie: