尝试获取JSON twitter时间线时会得到一个空结果,但当我将其复制并粘贴到浏览器中时,它会起作用



我正在使用以下内容来获取用户的twitter时间线。当我在Firebug中查看网络流量时,它显示了一个200响应代码,但这条线是红色的,结果是空白的。如果我取相同的url并将其粘贴到浏览器中,我会得到预期的json。我做错什么了吗?你可以看到我在里面放了一个警报,它从来没有被击中。不过我也没有得到javascript错误,所以我不确定问题出在哪里。

jQuery.getJSON('http://api.twitter.com/1/statuses/user_timeline.json?count=10&screen_name=name_removed&include_rts=true', function(data) 
{
    alert('test');
    var items = [];
    //Code to handle result
});

我已经在Firebug和IE开发工具中检查过了。Firebug以红色显示,好像有问题,但有200个响应代码。IE开发工具和fiddler甚至没有显示URL被调用过。

我认为这是因为同源策略

您将不得不执行类似的操作(如果这与我想到的错误相同)。

$.ajax({
    dataType: 'jsonp',
    url: 'http://api.twitter.com/1/statuses/user_timeline.json?count=10&screen_name=name_removed&include_rts=true?callback=?',
    success: function (data) {
        console.log(data);
    }
});

回调参数很重要。

请看这个。

http://en.wikipedia.org/wiki/JSONP

最新更新