16

嗨,我有一个返回数组的 php 代码。我希望能够在我的 ajax 成功函数中使用这个数组,但我不确定如何去做。我尝试了以下方法,但没有运气。

php代码:

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

exit($arr);

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

4 回答 4

49

您应该从服务器以 JSON 格式返回数据。

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];
    }
});
于 2013-10-21T20:05:32.467 回答
9

一个小错误:

不是:exit($arr);

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

于 2014-01-26T19:09:48.470 回答
5

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

于 2017-01-10T03:45:09.467 回答
0

这是解决方案

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

header("Content-Type: application/json");

echo json_encode($arr);

exit();

代替

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

exit($arr);
于 2018-11-29T01:18:29.780 回答