Javascript可以';t读取我的json数组


Javascript can't read my json array

因此,我从数据库中提取了一些数据,并使用以下代码将其放置在json数组中:

从数据库获取数据:

<?php
include"connectToDB.php";
//voert de volgende query uit
$result = $db->query("SELECT * FROM youtubevideos");
$array = array();
while($row = $result->fetch_assoc()) {
    $array = $row;
    echo json_encode($array);
}
?>

dataToHTML.js:

$.getJSON("getDataFromDB.php", function(result){
    $.each(result, function(i, field){
        console.log(field);
    });
});

在console.log(字段(中,它应该向我提供数组中的所有数据。但由于某种原因,我的控制台是空的。它似乎读不懂我的数组。但有趣的是。。。当我在php文件中的这行代码echo json_encode($array);之后键入exit();时,它可以读取它。但问题是,它只给了我数据库中的一行。当然,我想从我的数据库中获取所有数据,所以我不能使用exit();。他们对我做错了什么还有其他建议吗?谢谢

php文件返回多个json字符串,因为您在for循环中echo

将您的代码更改为此

<?php
include"connectToDB.php";
//voert de volgende query uit
$result = $db->query("SELECT * FROM youtubevideos");
$array = array(); // you can remove this
while($row = $result->fetch_assoc()) {
    $array[] = $row;
}
echo json_encode($array);

您现在将获得所有行。

这部分代码在数据库返回的每一行上输出一个JSON数组:

while($row = $result->fetch_assoc()) {
  $array = $row;
  echo json_encode($array);
}

您应该先向和数组中添加项,然后在循环外输出json编码的数组。

while($row = $result->fetch_assoc()) {
  $array[] = $row;
}
echo json_encode($array);

试试看。