0

映画などのデータを返す JSONP API を提供する themoviedb.org API を使用しています。

映画を検索できるフォームを作成しようとしています。クエリに基づいて、最も関連性の高い 5 つの映画のタイトルが返されます。

現在私は使用しています:

           success: function(parsed_json) {
               console.log(parsed_json);

               $(".search").append("<li data-id=" +parsed_json["results"]["0"]["id"]+ ">" + parsed_json["results"]["0"]["original_title"] + "</li>");
               $(".search").append("<li data-id=" +parsed_json["results"]["1"]["id"]+ ">" + parsed_json["results"]["1"]["original_title"] + "</li>");
               $(".search").append("<li data-id=" +parsed_json["results"]["2"]["id"]+ ">" + parsed_json["results"]["2"]["original_title"] + "</li>");
               $(".search").append("<li data-id=" +parsed_json["results"]["3"]["id"]+ ">" + parsed_json["results"]["3"]["original_title"] + "</li>");
               $(".search").append("<li data-id=" +parsed_json["results"]["4"]["id"]+ ">" + parsed_json["results"]["4"]["original_title"] + "</li>");
               $(".search").append("<li data-id=" +parsed_json["results"]["5"]["id"]+ ">" + parsed_json["results"]["5"]["original_title"] + "</li>");
           }

すべての映画タイトルを data-id = 映画 ID で追加します。これは大量のコーディングのようで、最初の 5 つの関連する映画のタイトルを追加するために each() を使用できる方法があるかどうか疑問に思っていました。

JSONP API に関する情報: http://help.themoviedb.org/kb/api/jsonp

JSFiddle の作業: http://jsfiddle.net/javascript/5ApuF/

編集:

私が試してみました:

success: function(parsed_json) {
    var textToInsert = [];
    var i = 0;
    var length = parsed_json.length;
    for (var a = 0; a <length; a += 1) {
        textToInsert[i++]  = '<li>';
        textToInsert[i++] = parsed_json[a];
        textToInsert[i++] = '</li>' ;
     
    }
    $('.search').append(textToInsert.join(''));

}
4

2 に答える 2

1

I believe something like this should work just fine for your needs...

success: function(parsed_json) {
    console.log(parsed_json);
    if (k > 4) {
        return false;
    }
    $.each(parsed_json["results"], function(k, v) {
         $(".search").append("<li data-id=" +v["id"]+ ">" + v["original_title"] + "</li>");
    });
}

Goodluck! I edited this because I forgot you wanted only 5 results :)

--al

于 2013-01-27T18:39:32.597 に答える
0

試す

for (result in parsed_json["results"]) {
    $(".search").append("<li data-id=" +parsed_json["results"][result]["id"]+ ">" + parsed_json["results"][result]["original_title"] + "</li>");
}
于 2013-01-27T18:48:18.897 に答える