2014-01-20 102 views
0

我真的不知道我在做什麼錯在這裏。我無法重新分配變量poster_path與在JSON調用中獲取的海報路徑。現在我驚訝的是,我試過async to false。它不起作用。async false with JSON-call not working(javascript)

我已經通過多個現有的答案,如這一個(How do I return the response from an asynchronous call?)搜索,但還沒有找到任何解決方案。

function getPoster(id) { 
var poster_path = null; 

$.getJSON("https://api.moviedb.org"+id+"?", {async: false}, function(data) { 
     poster_path = data.poster_path; 
    } 
} 

PS:此示例中API調用已被有意縮短。我知道它是有效的,它會返回正確的數據。

+0

這可能是有幫助的希望這樣的:https://stackoverflow.com/questions/14152276/themoviedb -json-api-with-jquery – Andy

+1

第二個參數是數據,而不是選項,請參閱這裏的文檔http://api.jquery.com/jquery.getjson/。改爲使用$ .ajax。 – Andrew

回答

1

$.getJSON功能是$.ajax方法的簡寫版本。因爲它是簡寫版本,所以它會做出一些假設,其中一個是呼叫將是異步

如果由同步呼叫不推薦那麼你要像

$.ajax({ 
    'async'   : true, 
    'dataType'  : 'json', 
    'contentType'  : 'application/json', 
    'url'    : 'https://api.moviedb.org'+id+'?', 
    'success'   : function (data){ 
         poster_path = data.poster_path; 
         } 
}); 
相關問題