Получить результат за ссылку на Reddit, с помощью jQuery помощью метода getjson


Я пытаюсь получить оценку для определенного 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 documentation. Есть детская массив, содержащий результат с цифры.

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

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

1 4

1 ответ:

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

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