【问题标题】:Cannot use 'in' operator to search for 'length' in Array Ajax无法使用“in”运算符在 Array Ajax 中搜索“length”
【发布时间】:2016-05-26 21:37:05
【问题描述】:

我一直在尝试使用 PHP 从我的数据库中获取一些数据,并通过 AJAX 将其传递到我的 jQuery 文件中。我正在尝试创建的页面是包含团队成员的清单。我有一个对话框,允许用户将成员添加到他们的清单中。要填充此对话框,我想查询我的数据库并返回尚未与该列表关联的成员。

我在一个 jquery 文件中有一个 AJAX 调用,如下所示:

$.ajax({

    url: "fetch_users.php",
    dataType: "json",
    success: function(data){
        console.log(data);

    }//closes success

});//closes fetch_users ajax

ajax 获取 PHP 文件以获取数据,并将其返回。我现在只是想将数据记录到控制台。但是,我收到一个错误

“未捕获的 TypeError:无法使用 'in' 运算符搜索 'length' in”

我的应用程序中有其他页面使用相同的方法返回我想要的数据而没有问题。这是PHP代码

<?php

require_once("database_handler.php");

$listID= $_COOKIE['listID'];
$userID = $_COOKIE['User'];

$stmt=$conn->prepare("SELECT userID FROM team WHERE listID =$listID;");
$stmt->execute();
$result = $stmt->fetchAll(PDO::FETCH_COLUMN, 0);

$stnt=$conn->prepare("SELECT userID FROM user WHERE userID <> $userID;");
$stnt->execute();
$users = $stnt->fetchAll(PDO::FETCH_COLUMN, 0);

$final =array_diff($users, $result);

$finalUsers;

foreach($final as $value){

  $stot=$conn->prepare("SELECT firstname, surname, userID FROM user WHERE userID = $value;");
  $stot->execute();
  $finalUsers[] = $stot->fetch(PDO::FETCH_ASSOC);
}

json_encode($finalUsers);

?>

任何关于我哪里出错的帮助将不胜感激。非常感谢!

【问题讨论】:

  • 您在 ajax 调用中丢失了数据参数
  • 我没有将任何数据传递到 php 文件中,所以我需要数据参数吗?
  • 尝试显示数据echo json_encode($finalUsers);
  • 看来已经做到了!太感谢了!! :) 我以前从来没有这样做过。

标签: php jquery ajax


【解决方案1】:

试试这个:

$.ajax({    
    url: "fetch_users.php",
    dataType: "json",
    success: function(data){
        console.log(JSON.parse(data));
    }
});

【讨论】:

    猜你喜欢
    • 2016-03-03
    • 1970-01-01
    • 2019-10-10
    • 1970-01-01
    • 2018-01-10
    • 2012-07-05
    • 2018-05-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多