2013-07-21 67 views
1

我試圖做一個類型代碼。但有這樣的issu:不能調用未定義的方法'toLowerCase'(引導類型)

$.ajax({ 
    type: "POST", 
    url: "system/json.php", 
    success: function(cevap){ 
    var jsonString = '['+cevap+']'; 

    var jsonObj = $.parseJSON(jsonString); 
    var sourceArr = []; 

    for (var i = 0; i < jsonObj.length; i++) { 
    sourceArr.push(jsonObj[i].label); 
    } 

$(".my-auto-complete").typeahead({ 
    source: sourceArr 
}); 

} 
}); 

我該如何解決它?我無法理解如何配置關於預輸入基於JavaScript的配置

編輯:json.php是這樣的:

{"51eb585b8b3b5b531c0012be":{"_id":{"$id":"51eb585b8b3b5b531c0012be"},"takim":"Mechelen"},"51eb585b8b3b5b531c0012c5":{"_id":{"$id":"51eb585b8b3b5b531c0012c5"} 
+0

什麼是'值cevap'? –

+0

不好意思。這是這樣的json:{「51eb585b8b3b5b531c0012be」:{「_ id」:{「$ id」:「51eb585b8b3b5b531c0012be」},「takim」:「Mechelen」},「51eb585b8b3b5b531c0012c5」:{「_id」 :「51eb585b8b3b5b531c0012c5」}} – user2396307

回答

0

嘗試是這樣的:

$.ajax({ 
    type: "POST", 
    url: "system/json.php", 
    success: function(cevap){ 
    var jsonString = '['+cevap+']'; 

    var jsonObj = $.parseJSON(jsonString); 
    var sourceArr = []; 

    for (var i = 0; i < jsonObj.length; i++) { 
     sourceArr.push(jsonObj[i].label); 
    } 
    typeahead = $('.my-auto-complete').data('typeahead'); 
    typeahead.source = sourceArr; 
    } 
}); 

$(".my-auto-complete").typeahead(); 
+0

thx但存在另一個錯誤:未捕獲TypeError:無法調用未定義的方法'toLowerCase':Ss – user2396307

+0

可能發生在: var jsonObj = $ .parseJSON(jsonString); 出於某種原因,可能基於cevap var中返回的內容。 –

+0

或jsonObj [i] .label –

相關問題