2017-09-14 154 views
-1

我想從數據庫加載我的菜單導航。我有這樣的HTML:Append()Ajax無法正常工作

<ul id="nav-mobile"></ul> 

現在我想在Ajax請求的成功數據追加到id="nav-mobile" 我使用這個代碼:

$.ajax({ 
    url:"/findRubriques", 
    type: "GET", 
    success: function(rubriques) { 
    $.each(rubriques, function(i, rubrique) { 
     $('#nav-mobile').append("<li><a href='categorie.html?rubriqueId=" + rubrique.id + ">" + rubrique.libelle + "</a></li>");    
    }); 
    } 
}) 

問題是,當我打開我的頁面,菜單顯示正確,而其他時間菜單不顯示。但是,在兩種情況下,當我在瀏覽器中檢查我的日誌時,我的ajax請求代碼ajax是200

+0

您是否正在運行document.ready事件處理程序中的AJAX請求?這聽起來像是你的競賽狀況發生,如果它間歇性失敗 –

+0

所以有時它有效,有時它不會?當它「不起作用」時,具體如何失敗?發生這種情況時,「rubriques」的內容是什麼?當$('#nav-mobile')'發生這種情況時會發現什麼?調試。 – David

回答

0

你想傳遞給$.each?一個json字符串?如果是,則應該將dataType添加到您的ajax配置中,以指定如何解析響應。否則,您可以使用JSON.parse()手動解析rubriques。 也添加一個「error」回調,因此如果ajax無法解析您的回覆,您可以打印該錯誤。