用jquery调用"imdbapi.com"

Man*_*anu 5 ajax jquery

我试图在一个函数中根据电影的标题从IMDB获取电影海报.

我试过了 :

function getPoster(title)
{
    $.ajax({
      url: "http://www.imdbapi.com/?t=" + title,
      datatype: "json",
      success: return data
    });
}
Run Code Online (Sandbox Code Playgroud)

但我真的不知道如何"返回"我从.ajax()得到的数据......

编辑IMDBapi返回一个json数据集,如下所示:

{"Title":"Jurassic Park","Year":"1993","Rated":"PG-13","Released":"11 Jun 1993","Genre":"Action, Adventure, Family, Sci-Fi","Director":"Steven Spielberg","Writer":"Michael Crichton, Michael Crichton","Actors":"Sam Neill, Laura Dern, Jeff Goldblum, Richard Attenborough","Plot":"During a preview tour, a theme park suffers a major power breakdown that allows its cloned dinosaur exhibits to run amok.","Poster":"http://ia.media-imdb.com/images/M/MV5BMTc2NDIxNTQyNF5BMl5BanBnXkFtZTcwNzIwMzM3MQ@@._V1._SX320.jpg","Runtime":"2 hrs 7 mins","Rating":"7.9","Votes":"159458","ID":"tt0107290","Response":"True"}
Run Code Online (Sandbox Code Playgroud)

edit2:这有效:

for(var i in titles)
{
    $.ajax({
      url: "http://www.imdbapi.com/?t=" + titles[i],
      dataType: 'jsonp',
      success: function(data) {
        $('body').append(data.Poster+'<br />');
      }
    });
}
Run Code Online (Sandbox Code Playgroud)

SLa*_*aks 3

你不能。

AJAX 是异步的;您只有在函数返回后才能收到服务器的回复。

相反,您可以让您的函数接受回调,就像这样$.ajax做一样。