使用jQuery getJSON获取Reddit上的网址分数

时间:2011-12-30 20:38:46

标签: jquery getjson reddit

我正在尝试从reddit获取某个网址的分数。要添加“与reddit(计数)共享”链接:

function redditCounter(url) {
  // Get number of counts from reddit JSON api
  // $.getJSON('http://www.reddit.com/api/info.json?url='+url+'',
  $.getJSON('http://www.reddit.com/api/info.json?url=http://stackoverflow.com/q/811074/1288',
    function(data) {
      count = 0;
      if (data.children.count() > 0) {
        first_child = data.children[0];
        alert(first_child.score);
      }
    });
}

当您使用curl或浏览器调用网址时,结果如Reddits API documentation中所述。有一个子数组,其中包含一个带数字的分数。

然而,$.getJSON会返回一个空答案,在萤火虫踩到它时会看到。

这可能是reddit的保护方法吗?或者我使用getJSON错了吗?

1 个答案:

答案 0 :(得分:5)

我很确定您应该真正期待JSONP响应,在这种情况下,我非常确定您应该将&callback=?附加到您的网址。

编辑:对于将来偶然发现这个问题的人来说只是一个注释:jQuery的getJSON()如果遇到格式错误的JSON对象,将无声地失败,或者在这种情况下,从另一个域收到JSON对象JSONP填充。但是,某些浏览器(例如:Google Chrome)可能会抛出一个MIME类型警告,该警告非常适合作为您所获得的JSON对象出现问题的指示。