2015-12-21 48 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

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