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