Ajax - 如何在成功函数中使用返回的数组

Mat*_*ins 15 javascript php arrays ajax jquery

嗨,我有一个返回数组的PHP代码.我希望能够在我的ajax成功函数中使用这个数组,但我不知道如何去做这个.我试过以下,但没有运气.

php代码:

$arr = array();
$arr[0] = "Mark Reed"
$arr[1] = "34";
$arr[2] = "Australia";

exit($arr);
Run Code Online (Sandbox Code Playgroud)

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];
    }
});
Run Code Online (Sandbox Code Playgroud)

Hug*_*ius 46

您应该从服务器返回数据作为JSON.

PHP

$arr = array();
$arr[0] = "Mark Reed";
$arr[1] = "34";
$arr[2] = "Australia";

echo json_encode($arr);
exit();
Run Code Online (Sandbox Code Playgroud)

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];
    }
});
Run Code Online (Sandbox Code Playgroud)


小智 9

一个小错误:

不: exit($arr);

用...来代替: echo json_encode($arr);


小智 5

有一个问题,当您想要显示例如data[0]和时data[1],它看起来像是字符串中的一个字符。解决header("Content-Type: application/json");申请前添加 echo json_encode($arr)