использование $ .getJSON в цикле - PullRequest
0 голосов
/ 03 марта 2011

Очень хочется научиться немного играть в JSON с Facebook Graph API .

Что я пытаюсь сделать: у меня есть список футбольных команд и их идентификаторы группы в Facebook. Команды сохраняются в массиве команд и идентификаторы facebook в массиве 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 Ответ

2 голосов
/ 03 марта 2011

Это не совсем правильно, но вы не можете использовать 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>

на странице.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...