Получить счет для URL на Reddit, используя jQuery getJSON - PullRequest
4 голосов
/ 31 декабря 2011

Я пытаюсь получить оценку для определенного URL из reddit. Чтобы добавить ссылку «поделиться с 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);
      }
    });
}

Когда вы вызываете URL-адрес с помощью curl или в своем браузере, результат аналогичен описанному в Документация Reddits API . Существует массив детей, который содержит оценку с номером.

Однако $.getJSON возвращает пустой ответ, который можно увидеть, переступив через него в firebug.

Возможно, это метод защиты от reddit? Или я использую getJSON неправильно?

1 Ответ

5 голосов
/ 31 декабря 2011

Я почти уверен, что вы действительно должны ожидать ответа JSONP, и в этом случае я совершенно уверен, что вы должны добавить &callback=? к своему URL.

РЕДАКТИРОВАТЬ: просто примечание для любого, кто наткнется на этот вопрос в будущем: getJSON() jQuery потерпит молчание, если встретит искаженный объект JSON или, как в этом случае, получит объект JSON из другого домена без JSONP обивка. Однако некоторые браузеры (например, Google Chrome) могут выдавать предупреждение типа MIME, которое служит хорошим индикатором того, что что-то не так с объектом JSON, который вы получаете.

...