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;
    });
});

問題は、ループが 1 行しかカウントしていないことでした。リスト内のアイテムの数をカウントするには、それを取得する必要がありました。これは、正確なカウントを取得できるように「data.items」を配置することで処理されます。以前にこれをキャッチできなかったのは残念です。これで問題が解決するかどうかお知らせください。

于 2013-03-06T14:56:58.290 に答える