1

私は自動補完を使って、rottentomatoesから映画の提案をJSON形式で取得しようとしています。 しかし、以下のコードでは提案は表示されません。完全なページのソースの場合腐ったトマトのapiでjQueryのオートコンプリート

<script> 
var apikey = "5xq9w7z2mp7a6cnchkfy52yd"; 
var baseUrl = "http://api.rottentomatoes.com/api/public/v1.0"; 

var moviesSearchUrl = baseUrl + '/movies.json?apikey=' + apikey; 
var query = "Rocky"; 

$(document).ready(function() { 
$("#sample").autocomplete({ 
source: function(request, response) { 
     $.ajax({ 
      url: moviesSearchUrl + '&q=' + encodeURI(query), 
      dataType: "jsonp", 
      success: function(data) { 
        var movies = data.movies; 
        response(function(movies) { 
           return { 
             label: movies.title, 
             value: movies.title 
             } 
        }));   
        } 
     }); 
     } 
}); 
}); 
</script> 

https://gist.github.com/2018447 私はまた、候補リストに動画のサムネイルを含める必要があります。誰も私に助けてくれませんか?

+0

あなたのエラーコンソールが何と言っていますか? – Phil

+0

b [0]は定義されていません ファイル://home/aaa/jqueryexample/js/jquery-ui-1.8.18.custom.min.js – rnk

+0

ポスターのサムネイルを含むように回答を更新しました。これはあなたの問題を解決するはずです – Phil

答えて

4

構文エラー(追加の))があり、moviesの配列(通常は$.map()を使用)での繰り返し呼び出しがありませんでした。

これは、それがどのように見えるかです:ここでの例作業(更新ポスターのサムネイルを含ん)

$("#sample").autocomplete({ 
    source: function(request, response) { 
     $.ajax("http://api.rottentomatoes.com/api/public/v1.0/movies.json", { 
      data: { 
       apikey: apikey, 
       q: request.term 
      }, 
      dataType: "jsonp", 
      success: function(data) { 
       response($.map(data.movies, function(movie) { 
        return { 
         label: movie.title, 
         value: movie.title, 
         thumb: movie.posters.thumbnail 
        } 
       }));   
      } 
     }); 
    } 
}).data("autocomplete")._renderItem = function(ul, item) { 
    var img = $("<img>").attr("src", item.thumb); 
    var link = $("<a>").text(item.label).prepend(img); 
    return $("<li>") 
     .data("item.autocomplete", item) 
     .append(link) 
     .appendTo(ul); 
}; 
​ 

- http://jsfiddle.net/df7tp/6/

+0

Yay!それは働いている。ありがとうございます:) Btw .. **データ( "オートコンプリート")。renderItem **を使用して、提案にサムネイルを含めることはできますか?そのためには、レスポンスセクションにイメージキーを追加する必要がありますか? – rnk

+0

@rnk更新が見られましたか? – Phil

+0

ありがとうございます@Philそれは素敵に見えます! – rnk

関連する問題