Ajax Json While Loop

时间:2016-02-13 22:37:20

标签: php jquery json ajax

您好我想从数据库中获取一个值并将其显示为导航栏中的链接,但我还没有成功。

使用我的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>

addtable.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);

}

我尝试了很多东西。如果我将我的dataType更改为json,它根本不起作用。我试图将它放在一个$ .each()循环中仍然无效。如果我去addtable.php它会显示

{&#34; 1&#34;:&#34;早餐&#34;} {&#34; 2&#34;:&#34;书展#34;}

这是我数据库中的正确值

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

2 个答案:

答案 0 :(得分:1)

let userInfo = SharingManager.sharedInstance.globalTimer.userInfo if (userInfo < 2){ //create new timer }else{ //create a new timer with different properties } 输出一个完整的JSON文本,但是在循环中输出它会输出一堆JSON文本,彼此相互对接。结果不是有效的单个JSON文本。

json_encode放入数组中。

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

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

答案 1 :(得分:0)

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

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

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

或者如果您只需要值:

["Breakfast", "Book Fair"]

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