JQuery: объединить несколько результатов JSON
Ситуация: Пользователь хочет импортировать плейлист Youtube на сайт JQuery, используя JSON API YouTube.
Проблема: Youtube возвращает только первые 50 записей, но плейлисты могут иметь длину более 100 записей (длина указана в TotalItems в ответе JSON). Все записи должны быть объединены как 1 объект и должны быть вставлены в выходную функцию в конце.
Запись 1-50:http://gdata.youtube.com/feeds/api/playlists/84780DAC99E1A285?v=2&alt=jsonc&max-results=50&start-index=1
Вступление 50-100:http://gdata.youtube.com/feeds/api/playlists/84780DAC99E1A285?v=2&alt=jsonc&max-results=50&start-index=50
Текущий код:
function fetchPlaylist(pid) {
var the_url = 'http://gdata.youtube.com/feeds/api/playlists/' + encodeURIComponent(pid) + '?v=2&alt=jsonc&max-results=50';
$.ajax({
type: "GET",
url: the_url,
dataType: "jsonp",
success: function (responseData, textStatus, XMLHttpRequest) {
if (responseData.data != null) {
if (responseData.data.items) {
outputFunction(responseData.data.items);
} else {
console.log('No results for playlist: "' + pid + '"');
}
}
}
});
}
Вопрос:
Каков наиболее эффективный способ повторять вызовы JSON до получения всех записей?
Как объединить разные ответы в один объект?
Что я пробовал:
Слияние с использованиемhttp://api.jquery.com/jQuery.extend/ застрял из-за сложной / вложенной ситуации