2

我正在尝试解析来自 Google plus API 的数据。我想显示用户个人资料名称和个人资料图片。这是我到目前为止所拥有的:

<div class="gplus-data"></div>
<script> 
    $(document).ready(function() {
        $(function () { 
            $.getJSON( "https://www.googleapis.com/plus/v1/people/113411411661448774142?fields=displayName%2Cimage&key=AIzaSyC_f6bGDJ54pkibdZ1hfiQo3-ekJs_btr8",
                    function (data) {   
                $('.gplus-data').append('<tbody class="items"></tbody>');
                $('.gplus-data tbody').prepend('<tr><th>Name</th><th>Image</th></tr>'); 
                $.each(data.items, function(i,item){    
                    var item = '<td>' + item.displayName + '</td>'; 
                    item += '<td>' + item.image.url + '</td>';
                    $('.items').append('<tr>' + item + '</tr>');    
                });
            });
        });
    });
</script>

http://jsfiddle.net/yrrqd/1/

4

1 回答 1

2

几个问题,首先是简单的问题是您试图将表格组件添加到DIV.

$(function () {})是一样的,$(document).ready(function() {})所以把一个包裹在另一个里面是没有意义的

接下来是数据不是您尝试解析的格式。您的代码假设响应是一个数组,但是提供的 url 返回一个对象。

如果您更改DIVtable

$(function() {
    $.getJSON(url, function(data) {      
        $('.gplus-data').append('<tbody class="items"></tbody>');
        $('.gplus-data tbody').prepend('<tr><th>Name</th><th>Image</th></tr>');            
            var item = '<td>' + data.displayName + '</td>';
            item += '<td><img src="' +data.image.url + '"></td>';
            $('.items').append('<tr>' + item + '</tr>'); 
    });    
});

演示:http: //jsfiddle.net/NsfPH/

您真的希望公开您的 API 密钥吗?

于 2012-12-23T18:12:32.537 回答