Matt9Atkins Matt9Atkins - 3 months ago 7
Javascript Question

Ajax - How to use a returned array in a success function

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

Answer

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