[英]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.