Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP中Ajax中未定义的变量_Php_Jquery_Ajax - Fatal编程技术网

PHP中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

我尝试了不同的方法来实现这一点,但仍然不起作用<代码>数据[0]。紧急程度未定义。我试图对数据进行字符串化,但结果之间有一堆\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);
?>

像这样更新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.log
data
并将其粘贴到此处,以查看问题来自何处将
dataType:“json”
添加到您的ajax中,或者在ajax中添加
data=$。如果您删除ajax请求,则代码工作正常:。这意味着要么请求失败,要么您没有返回您认为是的数据。无论哪种方式,您都需要检查控制台以查看确切的响应是什么
data.length
实际返回的是什么?如果您执行
console.log(数据类型)
您得到了什么?@adeneo为什么在控制台中打印
data[0]。紧迫性
时未定义?它应该与智能猜测一起工作,但您是否尝试过设置数据类型?另外,您应该console.log
data
并将其粘贴到此处,以查看问题的根源。我已经尝试过了,它显示了一个意外的SyntaxErrordata=jQuery.parseJSON(data);这是工作,检查php代码这是php错误我试图添加
数据类型:“JSON”
,但它没有打印任何内容。虽然这段代码可能会回答这个问题,但提供关于这段代码为什么和/或如何回答这个问题的附加上下文可以提高其长期价值。一个好的答案总是会解释做了什么以及为什么这样做,不仅是为了OP,也是为了SO的未来访问者;这是工作,检查php代码这是php错误我试图添加
数据类型:“JSON”
,但它没有打印任何内容。虽然这段代码可能会回答这个问题,但提供关于这段代码为什么和/或如何回答这个问题的附加上下文可以提高其长期价值。一个好的答案总是会有一个解释,说明做了什么以及为什么这样做,不仅是为了OP,而且是为了未来的访客。