Ajax Json While Loop


Ajax Json While Loop

嗨,我试图从数据库中获取一个值并将其显示为导航栏中的链接,但我不是很成功。

从我的 JQuery 开始

 <script>
         $(document).ready(function(){
              $.ajax({
                    type: 'GET',
                    data: {loadpage: 'table'},
                    url: 'addtable.php',
                    success: function(data){    
                        $('.navbar ul').append('<li><a href="#" class="table">'+THE-PHP-ARRAY I WANT TO SHOW+'</a></li>');
                    } 
                }); //ajax request
             });
    </script>

可添加.php

$query = "SELECT * FROM Menus WHERE menuCreator = '".$_SESSION['U_ID']."'";
$result = mysqli_query($con, $query);
$index=0;
while($row = $result->fetch_array()){
    $index++;
    $data = array(
        $index=>$row['menuName']
    );
    echo json_encode($data);
}

我尝试了很多东西。如果我将我的数据类型更改为 json,它根本不起作用。我试图把它放在一个 $.each() 循环中,但仍然没有任何效果。如果我转到可添加.php它会显示

{"1":"早餐"}

{"2":"书展"}

这是我数据库中的正确值

我很抱歉,如果不是太清楚im 15,我只在学校之间这样做,任何帮助将不胜感激提前致谢

json_encode输出一个完整的JSON文本,但是在循环中输出它,你输出的是一堆相互对接的JSON文本。结果不是有效的单个 JSON 文本。

$data放入数组中。

循环完成后将该数组编码为 JSON。

然后,当该数组转换为JavaScript时,您需要遍历该数组(data)。

{"1":"Breakfast"}{"2":"Book Fair"}

不是有效的 JSON 对象。 如果要对多个对象进行编码,则需要这样做:

[{"1":"Breakfast"}, {"2":"Book Fair"}]

或者,如果您只需要这些值:

["Breakfast", "Book Fair"]

要从服务器加载它,您应该使用速记函数jquery.getJSON