PHP中Ajax中未定义的变量
我尝试了不同的方法来实现这一点,但仍然不起作用<代码>数据[0]。紧急程度未定义。我试图对数据进行字符串化,但结果之间有一堆\n错误(见下文) 先谢谢你 我的ajax代码:PHP中Ajax中未定义的变量,php,jquery,ajax,Php,Jquery,Ajax,我尝试了不同的方法来实现这一点,但仍然不起作用数据[0]。紧急程度未定义。我试图对数据进行字符串化,但结果之间有一堆\n错误(见下文) 先谢谢你 我的ajax代码: function ajaxCall() { $.ajax({ type: "POST", url: "../nav/post_receiver.php", success: function(data) { console.log(data.length
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);
?>
像这样更新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);
}
});
}
像这样更新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);
}
});
}
使用JSON解析器验证JSON响应,如JSON.parse
function ValidateJsonString(str) {
try {
JSON.parse(str);
} catch (e) {
return false;
}
return true;
}
使用JSON解析器验证JSON响应,如JSON.parse
function ValidateJsonString(str) {
try {
JSON.parse(str);
} catch (e) {
return false;
}
return true;
}
将
dataType:“json”
添加到您的ajax中,或者在ajax中添加data=$.parseJSON(data)
如果您删除ajax请求,代码工作正常:。这意味着要么请求失败,要么您没有返回您认为是的数据。无论哪种方式,您都需要检查控制台以查看确切的响应是什么data.length
实际返回的是什么?如果您执行console.log(数据类型)
您得到了什么?@adeneo为什么在控制台中打印data[0]。紧迫性时未定义?它应该与智能猜测一起工作,但您是否尝试过设置数据类型?另外,您应该console.logdata
并将其粘贴到此处,以查看问题来自何处将dataType:“json”
添加到您的ajax中,或者在ajax中添加data=$。如果您删除ajax请求,则代码工作正常:。这意味着要么请求失败,要么您没有返回您认为是的数据。无论哪种方式,您都需要检查控制台以查看确切的响应是什么data.length
实际返回的是什么?如果您执行console.log(数据类型)
您得到了什么?@adeneo为什么在控制台中打印data[0]。紧迫性时未定义?它应该与智能猜测一起工作,但您是否尝试过设置数据类型?另外,您应该console.logdata
并将其粘贴到此处,以查看问题的根源。我已经尝试过了,它显示了一个意外的SyntaxErrordata=jQuery.parseJSON(data);这是工作,检查php代码这是php错误我试图添加数据类型:“JSON”
,但它没有打印任何内容。虽然这段代码可能会回答这个问题,但提供关于这段代码为什么和/或如何回答这个问题的附加上下文可以提高其长期价值。一个好的答案总是会解释做了什么以及为什么这样做,不仅是为了OP,也是为了SO的未来访问者;这是工作,检查php代码这是php错误我试图添加数据类型:“JSON”
,但它没有打印任何内容。虽然这段代码可能会回答这个问题,但提供关于这段代码为什么和/或如何回答这个问题的附加上下文可以提高其长期价值。一个好的答案总是会有一个解释,说明做了什么以及为什么这样做,不仅是为了OP,而且是为了未来的访客。