我尝试了不同的方法来完成这项工作,但它仍然无效。 data[0].urgency
未定义。我试图对数据进行字符串化,但结果之间有一堆\ n(见下文)。
提前谢谢。
我的ajax代码:
function ajaxCall() {
$.ajax({
type: "POST",
url: "../nav/post_receiver.php",
success: function(data) {
console.log(data.length);
console.log(data[0].urgency);
}
});
}
我的PHP代码:
<?php
session_start();
ob_start();
require_once('../../mysqlConnector/mysql_connect.php');
$results = array();
$query="SELECT COUNT(initID) AS count, urgency, crime, initID, TIMESTAMPDIFF( minute,dateanalyzed,NOW()) AS minuteDiff FROM initialanalysis WHERE commanderR='0' AND stationID='{$_SESSION['stationID']}';";
$result=mysqli_query($dbc,$query);
while ($row = $result->fetch_assoc()){
$count = $row['count'];
$urgency = $row['urgency'];
$crime = $row['crime'];
$initID = $row['initID'];
$minuteDiff = $row['minuteDiff'];
$results[] = array("count" => $count, "urgency" => $urgency, "crime" => $crime, "initID" => $initID, "minuteDiff" => $minuteDiff);
}
echo json_encode($results);
?>
PHP的结果:
[{ “计数”: “9”, “紧迫性”: “低”, “犯罪”: “火器”, “initID”: “6”, “minuteDiff”: “4743”}]
我认为结果格式错误了?我不确定。
这是console.log(data)
的结果,有一个html的评论标记,我不知道为什么:
<!-- -->
[{"count":"9","urgency":"Low","crime":"Firearm","initID":"6","minuteDiff":"4761"}]
答案 0 :(得分:0)
像这样更新你的ajax电话
function ajaxCall() {
$.ajax({
type: "POST",
url: "../nav/post_receiver.php",
success: function(data) {
data= jQuery.parseJSON(data);
console.log(data.length);
console.log(data[0].urgency);
}
});
}
答案 1 :(得分:0)
使用JSON解析器验证json响应,如JSON.parse
function ValidateJsonString(str) {
try {
JSON.parse(str);
} catch (e) {
return false;
}
return true;
}