【问题标题】:return tables rows in json and print在 json 中返回表行并打印
【发布时间】:2016-07-11 10:24:54
【问题描述】:

我试图在 json 中返回 ajax 响应,但是当我在日志中打印它时,即使表有行,它也会给出 null, 我的 php 代码是:

if(isset($_GET['proid'])){
    $projid = $_GET['proid'];
    include(db.php);
    $res = mysqli_query($con, "SELECT * FROM data WHERE project_id LIKE '%$projid%'");      
    while($row = mysqli_fetch_assoc($res)) 
    {
      $dataarray[] = $row;
    }
    echo json_encode($dataarray);
}

ajax:

$.ajax({
        url : 'getRecStudy.php',
        type : 'GET',           
        data : {proid:study},
        success : function(data) {
            $('#tbody').empty();
            $("#tbody").append(data);
            console.log(data);
        }
    });

怎么了?

【问题讨论】:

  • 你的控制台数据是什么
  • 试试 die(json_encode($dataarray));
  • 可以加echo json_last_error();
  • 在 php 文件中逐行调试,在每一行回显退出 $variables 并在 url 中点击 getRecStudy.php?proid=study。不要复制 ajax 响应。
  • stackoverflow.com/questions/8649621/… 检查这个。在您的 ajax 调用中也使用 dataType: 'json'

标签: php jquery json ajax


【解决方案1】:

我发现您的代码中除了变量之外没有任何问题。需要调试php文件中的代码

if(isset($_GET['proid'])){
    echo $_GET['proid'] . " is proid";
    $projid = $_GET['proid'];
    include(db.php);
    echo "db connected";
    $res = mysqli_query($con, "SELECT * FROM data WHERE project_id LIKE '%$projid%'");      
    echo "result fetched";
    while($row = mysqli_fetch_assoc($res)) 
    {
      $dataarray[] = $row;
      echo "inside while";
    }
    echo json_encode($dataarray);
    print_r($dataarray);
    exit;
}

毕竟这击中了http://yourdomain.com/yourfile.php?proid=correctvalue

你会得到这个错误。

【讨论】:

  • 你能给我任何ajax json例子的例子链接吗?
  • 它仍然给 null @kishore
  • @VishalBorade 空值不会通过我上面解释的过程打印,如果您在浏览器中点击 http://yourdomain.com/yourfile.php?proid=correctvalue 正确的 url 而不是通过 ajax,它将回显字符串、错误或空白。在调用 ajax 之前,请确保您的 php 文件通过(非 ajax)正常工作
  • 连接字符串有问题,当我编写完整的连接字符串时,它给了我结果。我不知道为什么... bdw 谢谢。
【解决方案2】:

在这样的成功函数中使用 parseJSON 方法

var obj = jQuery.parseJSON( data );

alert( obj.name ); // For example name is a key

【讨论】:

  • 即使我们不解析,它仍然会记录一些 json 编码的数据而不是“空”值。它的登录“null”值,因此解析 null json 不会产生正确的解析值。
猜你喜欢
  • 1970-01-01
  • 2017-08-21
  • 1970-01-01
  • 2021-08-18
  • 2021-11-07
  • 1970-01-01
  • 1970-01-01
  • 2015-11-25
  • 2021-06-08
相关资源
最近更新 更多