JQuery: Mehrere JSON-Ergebnisse zusammenführen
Situation Benutzer möchten Youtube-Wiedergabelisten mithilfe der JSON-API von Youtube in eine JQuery-Site importieren.
Problem Youtube gibt nur die ersten 50 Einträge zurück, aber Wiedergabelisten können mehr als 100 Einträge lang sein (die Länge wird in der JSON-Antwort durch "totalItems" angegeben). Alle Einträge müssen als 1 Objekt zusammengeführt und am Ende in eine Ausgabefunktion verschoben werden.
Eintrag 50-100:http: //gdata.youtube.com/feeds/api/playlists/84780DAC99E1A285? v = 2 & alt = jsonc & max-results = 50 & start-index = 50
Aktueller Code:
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 + '"');
}
}
}
});
}
Frage
Was ist die effizienteste Methode, um die JSON-Aufrufe zu wiederholen, bis alle Einträge eingegangen sind?
Wie werden die verschiedenen Antworten zu einem Objekt zusammengefasst?
Was ich versucht habe:
Mischen mit der Verwendung vonhttp: //api.jquery.com/jQuery.extend, blieb wegen der komplexen / verschachtelten Situation hängen