Разобрать потоковую передачу HTTP в прямом эфире JSON с помощью jQuery?

Вот живой HTTP-поток, который доставляет потоковые объекты JSON с использованием фрагментированного кодирования передачи: http://stream.meetup.com/2/rsvps

Можно ли проанализировать этот запрос JSON с помощью jQuery getJSON? Я хочу получить каждый элемент по мере его поступления и вставить новый тег изображения с изображением. Как функция, которую я написал ниже, но не работает


$.getJSON("http://stream.meetup.com/2/rsvps", displayImages);

function displayImages(data) { $.each(data.results, function(i,item) {

$("<img/>").attr("src", item.member.photo).appendTo('#images'); });

}


person Khan    schedule 08.05.2011    source источник
comment
Нет, консоль не сообщает: XMLHttpRequest не может загрузить stream.meetup.com/2/rsvps. . Исходный нуль не разрешен Access-Control-Allow-Origin.   -  person Khan    schedule 08.05.2011
comment
Похоже на междоменную проблему.   -  person c0mm0n    schedule 08.05.2011
comment
Любой способ использовать JSONP для анализа потокового HTTP?   -  person Khan    schedule 08.05.2011
comment
В JSONP сервер должен возвращать код javascript, а не данные JSON. На самом деле вы не можете читать с внешнего сайта, если сторона не предоставляет интерфейс JSONP.   -  person Taha Jahangir    schedule 08.05.2011
comment
Более того, даже если перейти непосредственно к XMLHttpRequest без getJSON, невозможно прочитать частичные ответы HTTP во всех браузерах.   -  person bobince    schedule 08.05.2011


Ответы (1)


Вы не можете отправлять междоменные запросы ajax из-за политики одного источника. Вы можете использовать JSONP, чтобы обойти проблему, но веб-служба должна ее поддерживать.

Похоже, что Meetup API поддерживает JSONP, хотя, естественно, JSONP не поддерживает потоковую передачу. обновления стиля.

person Matt Ball    schedule 08.05.2011
comment
Да, я посмотрел это, похоже, что JSONP также не поддерживает потоковую передачу - goo.gl/okjqH? - person Khan; 08.05.2011
comment
На самом деле я уже использую Meetup API для обратных вызовов, моя проблема в том, что он, похоже, не работает с URL-адресом потоковой передачи HTTP ... который отличается от обычных запросов JSON, хм. - person Khan; 08.05.2011
comment
Это верно. JSONP работает, передавая правильно сформированный фрагмент JSON в функцию обратного вызова. Как при потоковой передаче JSON узнать, что он готов для передачи в функцию обратного вызова? - person Matt Ball; 08.05.2011
comment
Для потоковой передачи через HTTP см.: http://en.wikipedia.org/wiki/Comet_(programming ) - person Taha Jahangir; 08.05.2011
comment
Типичный выходной формат потоковой передачи JSON — это разделенный новой строкой список правильно сформированных объектов в формате JSON, но на самом деле весь документ не является правильно сформированным JSON. Просто невозможно согласовать это при использовании JSONP. - person Matt Ball; 08.05.2011
comment
@Taha: Comet здесь бесполезна для ОП, поскольку API Meetup не предоставляет интерфейс Comet. - person Matt Ball; 08.05.2011