Hi I have a php code that returns an array. I want to be able to use this array in my ajax success function but I'm not sure how to go about doing this. I have tried the following, but no luck.
php code:
$arr = array();
$arr[0] = "Mark Reed"
$arr[1] = "34";
$arr[2] = "Australia";
exit($arr);
js code:
$.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];
}
});
You should return the data as JSON from the server.
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];
}
});
A small mistake:
Not: exit($arr);
replace with: echo json_encode($arr);
There a Problem , when you want display for example data[0]
and data[1]
, it seems like a character from string. It Solves adding header("Content-Type: application/json");
before apply echo json_encode($arr)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With