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

ber*_*kes 4 jquery reddit getjson

我想从reddit获取某个URL的分数.要添加"与reddit(count)共享"链接:

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);
      }
    });
}
Run Code Online (Sandbox Code Playgroud)

使用curl或浏览器调用url时,结果如Reddits API文档中所述.有一个子数组,其中包含一个带数字的分数.

$.getJSON,然而,返回一个空的答案,萤火跨过它的时候看到.

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

Aar*_*ron 5

我很确定你实际上应该期待一个JSONP响应,在这种情况下我很确定你应该附加&callback=?到你的URL.

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