Проблема области видимости $ .getJSON - PullRequest
1 голос
/ 11 июля 2009
$.getJSON('http://twitter.com/followers/ids.json?screen_name=' + query1 + '&callback=?', function (data) {
    console.log('JSON data string 1 is: ' + data);
    $.getJSON('http://twitter.com/followers/ids.json?screen_name=' + query2 + '&callback=?', function (data1) {
        console.log('JSON data string 2 is: ' + data1);
        f2 = data1;
        f1 = data;
        for (var i = 0; i < f1.length; i++) {
            for (var j = 0; j < f2.length; j++) {
                if (f1[i] == f2[j]) { //console.log("Adding f1[i]");
                    common.push(f1[i]);
                }
            }
        }
        for (var d = 0; d < common.length; d++) {
            $.getJSON('http://twitter.com/users/show.xml?user_id=' + common[d] + '&callback=?', function (data2) {
                $('#content').append('<>img  width="50" height="50" src=' + data2.profile_image_url + '>< 

href="http://www.twitter.com/' + data2.screen_name + '">' + data2.name + '</></>');
            });
        }
    });
});

в этом коде в основном я получаю массив (common []), который содержит всех общих последователей между двумя пользователями твиттера

но третий вызов $ .getJSON не отвечает вообще

Я что-то не так делаю

Любая помощь будет оценена

Спасибо

Ответы [ 2 ]

2 голосов
/ 11 июля 2009

установите глобальный обработчик событий ошибки AJAX, например, и вы сможете проверить ошибку. помните, что если ошибка возникает в контексте запроса JQuery AJAX, то ничего не происходит вне функции ошибки. если вы используете метод $ .getJSON, вы должны настроить обработчик ошибок в методе $ .ajaxSetup.

$.ajaxSetup({
    error: function(xhr, status, e) {
        console.log(xhr, status, e);
    }
});
0 голосов
/ 11 июля 2009

заработало ... проблема была в том, что в URL был show.xml ... я просто изменил его на show.json, и он начал работать

...