2015-12-21 85 views
0

我想弄清楚如何訪問從電影數據庫API提供的JSON的所有數據,但我不明白如何檢索它。 控制檯日誌給我一個「數據沒有定義」的錯誤。檢索json數據的所有'數據'屬性與AJAX

因此,這裏是我的代碼:

$(document).ready (function(){ 

    var key = 'api key provided'; 

    $.ajax({  
     type: 'GET', 
     url : 'http://api.themoviedb.org/3/search/movie'+key+'&query=Minions', 
     dataType: 'jsonp', 
     data: { 
      format:'json' 
     }, 
     error: $('#result').append("errore"), 
     success: function(data){$('#result').append("ok")} 
    }); 
    var jsonData=data.results.original_title;    
    //this give me a data is not provided 
});  

這裏JSON的一部分: enter image description here

讓我們假設我只想要訪問的release_date禮,我怎麼能做到這一點?

+0

導致其陣列更新變量....其導致需要??結果[?] – Vanojx1

+1

您似乎正在訪問回調函數外部的數據。 '$ .ajax'是異步的。因此'data'只能在'$ .ajax.success'(你鍵入'.append(「ok」)''' –

回答

1

data不是從$.ajax()閉包中定義出來的,你需要將代碼移到成功處理程序中,然後循環遍歷JSON data.results

success: function(data){ 
     $('#result').append("ok"); 
     console.log(data); 
     $.each(data.results, function(i, result) { 
      console.log('Release date is' + result.release_date); 
     }); 
} 

替代地,可以定義一個變量,然後在success處理程序的$.ajax()

var ajaxResponse; 
$.ajax({ 
    /* skipped lines*/ 
    success: function(data){ 
     ajaxResponse = data 
    } 
}); 
+0

'並且告訴jQuery做同步請求 –

+0

完美,真的很清楚!謝謝 –