Lire dans un JavaScript un objet PHP parsé json_encode($return)
Bonjour à tous,
J'ai beau chercher, je ne trouve pas de solution à mon problème de lecture d'une variable envoyée par PHP encodée json.
Voici le code dans sqlConnect.js qui appelle sqlConnect.php,
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| function jsConnect()
{ $.ajax(
{ type: "POST",
url: "sqlConnect.php",
dataType: "text",
success: function(dataSQL, statut)
{ alert ("success " + dataSQL);
},
error: function(dataSQL, statut)
{ alert ("error " + dataSQL );
}
});
} |
et mon code dans sqlConnect.php
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| <?php
//PDO / php_pdo / php_pdo_mysql / Data Objects / class pdo
//header('Content-Type: application/json; charset=utf-8');
$host = "monHost";
$dbname = "maDB";
$dsn = "mysql:host=". $host.";dbname=".$dbname;
$username = 'monUser';
$password = 'monPw';
/*Soit dans le constructeur lors de l'instanciation de l'object de connexion => oCnx
soit après l'instanciation de objet connexion oCnx avec methode setAttribute => $oCnx->setAttribute(PDO::ATTR_ERRMODE , PDO::ERRMODE_EXCEPTION);*/
$options = array( PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_EMULATE_PREPARES => false,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"
);
$selQry = "SELECT * FROM `participant` LIMIT 0 , 30";
$delQry = "DELETE FROM `participant`";
$insQry = "INSERT INTO `participant` (`idparticipant`, `password`, `firstname`, `name`) VALUES (NULL, 'pw1', 'moi', 'moi')";
try
{ $oCnx = new PDO($dsn, $username, $password, $options);
$rowCount = $oCnx->exec($insQry);
$oQry = $oCnx->query($selQry);
$rows = $oQry->fetchAll();
}
catch (PDOException $e)
{ $name = "Erreur !: " . $e->getMessage() ;
die();
}
$oCnx= null;// Fermeture connexion !
echo json_encode($rows);
?> |
Mais voilà je ne sais pas comment accéder aux données en retour depuis sqlConnect.php via echo json_encode($rows)
Actuellement mon dataType = 'text' dans $.ajax({....}), mon alert(dataSQL) pour success: function(dataSQL){...} me renvoie les données sous ce format
Citation:
[{"idparticipant":3,"password":"pw1","firstname":"moi","name":"moi"},{"idparticipant":4,"password":"pw1","firstname":"moi","name":"moi"},{"idparticipant":11,"password":"pw1","firstname":"moi","name":"moi"},{"idparticipant":12,"password":"pw1","firstname":"moi","name":"moi"}]
Et c'est déjà super:ccool:
Mais quand je passe $.ajax({...dataType = 'json'}) j'ai en retour:
Citation:
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ma question est super simple mais je me détruis les yeux :arf::pc: à chercher la solution pour récupérer les données reçues dans sqlConnect.js depuis sqlConnect.php afin de les traiter et les intégrer plus tard dans un grid jQuery.
D'ailleurs si quelqu'un connait un grid JQuery, je suis preneur.
Merci à tous:aie: