簡體   English   中英

我怎樣才能將數組對象返回給jQuery $ .ajax調用?

[英]How can I return an array object to a jquery $.ajax call?

我正在嘗試將數組對象返回給我的Jquery ajax調用,但是它似乎以Array length = 1的String形式返回

PHP代碼:

$results = mysqli_query($link, $sql);

if ($results->num_rows > 0) {

    while ($row = $results->fetch_assoc()) {


        $array = array($row['eventDate'], $row['time'] ,['data' => $row['time']])   ;

        echo json_encode($array) ;
    }
} else {
    echo "0 results";
}

開發人員工具中的響應顯示:

["12_03_2015","0:00:00",{"data":"0:00:00"}]["12_03_2015","0:00:00",{"data":"0:00:00"}]["12_03_2015","0:00:00",{"data":"0:00:00"}]

我的Ajax電話:

功能趨勢(數據){

$.ajax({
    url: "trendData.php",
    cache: true,
    type: "POST",
    data: {arr:data},

    success: function (data) {
        originalData=[];

        originalData.push(data)
        trender(data)
    }
});

}

在“網絡”的“預覽”窗口中,它顯示一個數組:

在此處輸入圖片說明

我在這個例子中無法獲得3個對象的數組,而無法獲得3的array.length

任何幫助都感激不盡。

在此處輸入圖片說明

您應該收集所有數據並將其作為一個json結果返回,並添加正確的http標頭(由@Flosculus建議),以便可以識別json格式:

$results = mysqli_query($link, $sql);
$data = array();

if ($results->num_rows > 0) {
    while ($row = $results->fetch_assoc()) {
        $data[] = array($row['eventDate'], $row['time'] ,['data' => $row['time']])   ;        
    }

    header('Content-Type: application/json');
    echo json_encode($data) ;
} else {
    echo "0 results";
}

我認為您必須使用JSON.parse() ,如果您使用的是jquery,那么您的js腳本將類似於

$.ajax({
url: "trendData.php",
cache: true,
type: "POST",
data: {arr:data},

success: function (data) {
    var data = JSON.parse(data);

    //see length of array
    console.log(data.length);
}
});

暫無
暫無

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

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