404使用JQuery getJSON检索Twitter粉丝

时间:2011-12-26 16:56:10

标签: javascript jquery twitter jsonp

我刚开始使用Twitter API使用jQuery检索数据。我已经使用API​​ ok检索有关单个用户的信息,例如https://twitter.com/users/show/codinghorror.json

当我尝试检索给定用户所关注的所有用户时,我使用相同的检索模式但是收到404错误(看起来我的回调没有正确接收json对象,但是附加了它以某种方式到URL)

我正在使用以下代码:

getTwitterUserFriends: function() {
            var user = 'codinghorror';
            var url = 'http://api.twitter.com/1/friends/ids.json?screen_name='+user+'?callback=?';
            $.getJSON(url, function(data) {
                alert('call succeeded' + data.ids);
            });
        },  

在chrome中,控制台显示以下错误:

GET https://api.twitter.com/1/friends/ids.json?screen_name=codinghorror?callback=jQuery15201747908447869122_1324917568956&_=1324917580929 404 (Not Found)

但是,如果我直接浏览到URL https://api.twitter.com/1/friends/ids.json?screen_name=codinghorror,那么我可以看到返回的结果对象。

我认为我在回调中做了一些简单的错误,但看不出它是什么,因为我上面使用的方法适用于其他API调用,所以任何帮助都会非常感激!

1 个答案:

答案 0 :(得分:1)

您的网址语法不正确。 “callback”参数应该用“&”分隔,而不是“?”。

var url = 'http://api.twitter.com/1/friends/ids.json?&screen_name='+user+'&callback=?';

您也应该对用户名进行URL编码:

var url = 'http://api.twitter.com/1/friends/ids.json?&screen_name=' +
  escapeURIComponent(user) + 
  '&callback=?';

此外,我不确定你为什么会有“&”在“screen_name”参数之前。