在循环中使用$ .getJSON

时间:2011-03-03 15:17:56

标签: jquery json facebook facebook-graph-api

Itry用facebook Graph API学习一点JSON。

我尝试做什么:我有一份足球队的名单,以及他们在facebook中的小组ID。团队保存在团队数组中,facebook ID保存在teamID数组中。然后我创建一个循环调用一个包含$.getJSON的函数,并尝试检索每个组的喜欢。问题是它只打印第一个团队,然后只是加载浏览器窗口而不填充其余结果。

我有以下代码:

var team = ['aek','ael','aris','iraklis','kavala'];
var teamID = ['110422719032276','129322810472059','182829608421864','191854030839850','192175080800352']

$(document).ready(function() {
    for(var i=0; i<5; i++) {
    retrieveData(team[i],teamID[i]);
    }

});

function retrieveData(teamName,id) {
    var baseURL = 'http://graph.facebook.com/';
    $.getJSON(baseURL+id+"&callback=?", function(data) {
        document.write(teamName+" :"+data.likes)
    });

};

1 个答案:

答案 0 :(得分:2)

这距离正确不远,但您无法使用document.write()将获取的数据放入页面。相反,如果需要,您将不得不向DOM添加内容。

例如,您可以执行以下操作:

function retrieveData(teamName,id) {
    var baseURL = 'http://graph.facebook.com/';
    $.getJSON(baseURL+id+"&callback=?", function(data) {
        $('#teamList').append('<div>' + teamName+" :"+data.likes + '</div>')
    });

};

如果你有这样的事情:

 <div id='teamList'>
   <!-- teams go here -->
 </div>

页面上。