我很难从json显示数据。标题显示正常,但 item.volumeInfo.industryIdentifiers.type 返回undefined。
$.ajax({
url: 'https://www.googleapis.com/books/v1/volumes?q=:isbn=0-13-727827-6',
dataType: 'json',
success: function (data) {
$.each(data.items, function (index, item) {
$(".tab1").append("<div>" + item.volumeInfo.title + "</div><div>" + item.volumeInfo.industryIdentifiers.type + "</div>");
});
}
});
小提琴在这里:http://jsfiddle.net/HFs8U/1/
非常感谢您的帮助。
答案 0 :(得分:2)
您需要在.type之前放置[0],因为volumeInfo可以有两个industryIdentifier。当然,这只会显示第一个,因此您可能需要找到一种更合适的方式来显示两者是否存在。
$.ajax({
url: 'https://www.googleapis.com/books/v1/volumes?q=:isbn=0-13-727827-6',
dataType: 'json',
success: function (data) {
$.each(data.items, function (index, item) {
$(".tab1").append("<div>" + item.volumeInfo.title + "</div><div>" + item.volumeInfo.industryIdentifiers[0].type + "</div>");
});
}
});
答案 1 :(得分:0)
解决方案并不是很困难。 david99world建议再做一个$。每个项目的循环并指向一个小提琴。我略微修改了它并提出了:
$.ajax({
url: 'https://www.googleapis.com/books/v1/volumes?q=:isbn=0-13-727827-6',
dataType: 'json',
success: function (data) {
$.each(data.items, function (i, item) {
$(".tab1").append("<div>" + item.volumeInfo.title + "</div>");
$.each(item.volumeInfo.industryIdentifiers, function (i2, type) {
$(".tab1").append("<div>" + type.type + "</div>");
});
});
}
});
希望它可能对其他人有用。