2016-02-13 115 views
0

嗨,我即時嘗試從數據庫中獲得一個值,並顯示它作爲一個鏈接在我的導航欄,但我一直都沒有成功。Ajax Json雖然循環

與我的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它顯示

{ 「1」: 「早餐」} { 「2」: 「書展」}

這是我的數據庫中正確的價值觀

對不起如果不是太清楚IM 15,我只能這樣做學校之間的任何幫助,將不勝感激提前 感謝

回答

1

json_encode輸出完整的JSON文本,但其輸出的一個循環裏面你輸出一堆的JSON文本相互抵觸。結果不是有效的單個JSON文本。

$data放入數組中。

將該數組編碼爲JSON 循環結束。

然後,當它轉換爲JavaScript時,您需要遍歷該數組(data)。

+0

我如何循環數據在JavaScript $ .each()? – NaderBesada

+0

該功能記錄 - http://api.jquery.com/jquery.each/ - 你不明白什麼? (這應該可能是一個新問題,但不是評論)。 – Quentin

+0

不,我的意思是我應該使用每個功能,我沒有要求它爲錯誤溝通感到抱歉。我只是想澄清其他的東西,所以我應該把變量$數據,其中包含一個數組,然後把它放入另一個數組和JSON編碼? – NaderBesada

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

不是有效的JSON對象。如果你想編碼多個對象,你需要做的是這樣的:

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

,或者如果你只需要值:

["Breakfast", "Book Fair"] 

對於從服務器加載它,你應該使用速記功能jquery.getJSON