簡體   English   中英

Ajax - 如何在成功函數中使用返回的數組

[英]Ajax - How to use a returned array in a success function

嗨,我有一個返回數組的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];
    }
});

您應該從服務器返回數據作為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];
    }
});

一個小錯誤:

不是: exit($arr);

替換為: echo json_encode($arr);

有一個問題,當你想要顯示例如data[0]data[1] ,它看起來像是字符串中的一個字符。 它解決了添加header("Content-Type: application/json"); 在應用echo json_encode($arr)之前echo json_encode($arr)

這是解決方案

$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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM