0

我正在尝试显示来自 Google API 的数据,但我的结果一直是“未定义”。这是我的代码:

$(document).ready(function() {
var url='https://www.googleapis.com/books/v1/volumes?q=harry+potter&maxResults=9'
    $('#button').click(function() {
        $.getJSON(url,function(data){
            $('#content').empty();
            $.each(data, function(entryIndex, entry){
                var html = '<div class="result">';                    
                html += '<h3>' + entry['id'] + '</h3>';
                html += '<div class="title">' + entry['title'] + '</div>';                  
                html += '<div class="author">' + entry['author'] + '</div>';                                        
                $('#content').append(html);
            });                        
        });
        return false;
    });
});
4

1 回答 1

2

您的代码应如下所示,以获取 API 所需的信息:

$(document).ready(function() {
var url='https://www.googleapis.com/books/v1/volumes?q=harry+potter&maxResults=9'
$('#button').click(function() {
    $.getJSON(url,function(data){
        $('#content').empty();
        $.each(data.items, function(entryIndex, entry){
            var html = '<div class="result">';                    
            html += '<h3>' + entry.id + '</h3>';
            html += '<div class="title">' + entry.volumeInfo.title + '</div>';                  
            html += '<div class="author">' + entry.volumeInfo.authors + '</div>';                                        
            $('#content').append(html);
        });                        
    });
    return false;
    });
});

问题是循环只计算一行。你需要得到它来计算列表中的项目数。这是通过放置“data.items”来处理的,以便能够获得准确的计数。很抱歉我没有早点发现这个。让我知道这是否能解决您的问题。

于 2013-03-06T14:56:58.290 回答