2016-03-21 15 views
0

Düğümlerden birine erişmeye çalıştığımda JSON'u ayrıştırmaya ve UNDEFINED almaya çalışıyorum. JSON ilk bölümü ve işlevi zincir, bu sorun data bir çözümlü JSON nesnesi olmadığıdır JSONJSON Tanımsız düğüm ayrıştırmaya çalışıyor

{"makes":[{"id":200002038,"name":"Acura","niceName":"acura","models":[{"id":"Acura_ILX","name":"ILX","niceName":"ilx","years":[{"id":200471908,"year":2014}]},{"id":"Acura_ILX_Hybrid","name":"ILX Hybrid","niceName":"ilx-hybrid","years":[{"id":200493809,"year":2014}]},{"id":"Acura_MDX","name":"MDX","niceName":"mdx","years":[{"id":200465929,"year":2014}]},{"id":"Acura_RDX","name":"RDX","niceName":"rdx","years":[{"id":200467168,"year":2014}]},{"id":"Acura_RLX","name":"RLX","niceName":"rlx","years":[{"id":100539511,"year":2014}]},{"id":"Acura_TL","name":"TL","niceName":"tl","years":[{"id":200488448,"year":2014}]},{"id":"Acura_TSX","name":"TSX","niceName":"tsx","years":[{"id":200490517,"year":2014}]},{"id":"Acura_TSX_Sport_Wagon","name":"TSX Sport Wagon","niceName":"tsx-sport-wagon","years":[{"id":200673755,"year":2014}]}]},{"id":200001769,"name":"Aston Martin","niceName":"aston-martin","models":[{"id":"Aston_Martin_DB9","name":"DB9","niceName":"db9","years":[{"id":200473436,"year":2014}]},... 
+0

Pls sonucu konsol.log (veri) –

cevap

1

ilk hatları

function loadmakes() 
    { 

    jQuery.ajax({ 
    url: "getedmunds.php", 
    data:'id=1', 
    type: "POST", 
    success:function(data){ 
     alert(data);  
     alert(data.makes); //<<<< **FAILS HERE Undefined** 

     for(var i in data.makes) 
       { 
         $('#make').append('<option value=' + data.makes[i].id + '>' + data.makes[i].name + '</option>'); 
       } 
    }, 
    error:function(){ 
     alert("Error calling makes"); 
     } 
    }); 

} 

altındadır. AJAX kullandığınızda, bir dize döndürür.

İki şeyden birini yapabilirsiniz: Bir, jQuery dataType option for $.ajax sağlar. "json" değerini sağlayın ve jQuery/AJAX sizin için sonucu otomatik olarak ayrıştırır.

$.ajax({ 
    // ... 
    dataType: 'json', 
    success: function(data) { 
     // `data` is a javascript object now. 
    } 
}); 

Ayrıca başarıda data ayrıştırmak için JSON.parse kullanabilirsiniz. Bu pratikte jQuery/AJAX'ın sizin için son çözüm yolu ile ne yaptığını.

+0

Bu yardım için teşekkürler oldu! –