Bonjour, j'ai un code php qui retourne un tableau. Je veux pouvoir utiliser ce tableau dans ma fonction de succès ajax mais je ne sais pas comment faire pour le faire. J'ai essayé ce qui suit, mais pas de chance.
code php:
$arr = array();
$arr[0] = "Mark Reed"
$arr[1] = "34";
$arr[2] = "Australia";
exit($arr);
code js:
$.ajax({
type: "POST",
url: "/returndetails.php",
data: 'id=' + userid,
success: function (data) {
document.getElementById("name").innerHTML = data[0];
document.getElementById("age").innerHTML = data[1];
document.getElementById("location").innerHTML = data[2];
}
});
Vous devez renvoyer les données sous forme de code JSON à partir du serveur.
PHP
$arr = array();
$arr[0] = "Mark Reed";
$arr[1] = "34";
$arr[2] = "Australia";
echo json_encode($arr);
exit();
JS
$.ajax({
type: "POST",
url: "/returndetails.php",
data: 'id=' + userid,
dataType: "json", // Set the data type so jQuery can parse it for you
success: function (data) {
document.getElementById("name").innerHTML = data[0];
document.getElementById("age").innerHTML = data[1];
document.getElementById("location").innerHTML = data[2];
}
});
Une petite erreur:
Non: exit($arr);
remplacer par: echo json_encode($arr);
Il y a un problème, lorsque vous souhaitez afficher par exemple data[0]
et data[1]
, cela ressemble à un caractère de chaîne. Cela résout l'ajout de header("Content-Type: application/json");
avant d'appliquer echo json_encode($arr)
Voici la solution
$arr = array();
$arr[0] = "Mark Reed"
$arr[1] = "34";
$arr[2] = "Australia";
header("Content-Type: application/json");
echo json_encode($arr);
exit();
au lieu de
$arr = array();
$arr[0] = "Mark Reed"
$arr[1] = "34";
$arr[2] = "Australia";
exit($arr);