$ .getJSON范围问题

时间:2009-07-11 09:21:15

标签: jquery json twitter scope getjson

$.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 []),其中包含两个Twitter用户之间的所有常见关注者

但第三个$ .getJSON调用似乎没有响应

我做错了什么

任何帮助将不胜感激

谢谢

2 个答案:

答案 0 :(得分:2)

设置一个像这样的全局AJAX错误事件处理程序,然后您可以检查错误。请记住,如果在jQuery AJAX请求的上下文中发生错误,那么在错误函数之外没有任何事情发生。如果您使用$ .getJSON方法,则必须在$ .ajaxSetup方法中设置错误处理程序。

$.ajaxSetup({
    error: function(xhr, status, e) {
        console.log(xhr, status, e);
    }
});

答案 1 :(得分:0)

让它工作......问题是url有show.xml ...我只是将它改为show.json并且它开始工作