【发布时间】:2013-01-28 02:49:54
【问题描述】:
我正在使用 themoviedb.org API,它提供 JSONP 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 的电影标题。这似乎是很多编码,我想知道是否有一种方法可以使用 each() 来附加前 5 个相关的电影标题。
关于 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(''));
}
【问题讨论】:
-
你尝试了什么?你有什么问题?
-
顺便说一句,最好的方法是使用模板引擎,例如 Knockout
-
@Slaks 我宁愿只使用 1 个库,例如 jQuery,而不是让它膨胀。至于我尝试过但没用的方法是:检查编辑