JQuery ajax getJSON-ответ имеет размер, но пустое тело? - PullRequest
3 голосов
/ 19 июля 2010

Мы пытаемся получить доступ к API meetup.com с помощью метода jQuery getJSON () и сталкиваемся с некоторыми проблемами.В firebug мы можем запустить

$.getJSON(
'http://api.meetup.com/events.json?group_urlname=Closing-the-NOLA-Gap&key=ourkey', 
function(data) { console.log(data) }
);

Мы видим, что вызов занимает некоторое время.Мы можем проверить заголовок ответа и увидеть, что размер контента составляет 42 КБ, но тело контента (как показано в firebug) пусто!Как это возможно?

Когда мы указываем на URL в браузере, на странице появляется весь соответствующий формат в формате json.

Чего нам не хватает?

PS.Мы пробовали $ .ajax и $ .get - одинаковые результаты с каждым.Мы также попробовали сделать это с 3 параметрами, где первый - это URL, второй - ноль, а третий - обратный вызов.

1 Ответ

5 голосов
/ 19 июля 2010

Убедитесь, что в строке запроса URL-адреса, по которому вы переходите, есть callback=?, так как это удаленный домен, вам необходимо использовать JSONP здесь (что вызывает callback=?).Например:

$.getJSON(
 'http://api.meetup.com/events.json?group_urlname=Closing-the-NOLA-Gap&key=ourkey&callback=?', 
 function(data) { console.log(data); }
);

Из документов $.getJSON():

Если в URL-адресе указана строка "callback=?", запросвместо этого рассматривается как JSONP.См. Обсуждение типа данных jsonp в $. Ajax () для получения более подробной информации.

...