Если вы не хотите потенциально блокировать браузер, вы можете сделать это таким образом, что вы продолжаете загружать песни, пока все они не будут обработаны.
function play_next(){
var song = data.songs.shift(); // Removes the first song and stores it in song
$('#nowartist').append('song starting');
$.get("http://localhost/play.php", function(ret_data){
alert('done');
if(data.songs.length) play_next(); // Call next song if more songs exist;
});
}
play_next(); // Start it off
Обратите внимание, что он изменяет массив data.songs
, удаляя элементы при обработке. Если это проблема, перед запуском продублируйте массив, чтобы он удалил элементы из массива дубликатов.
Кстати, я предполагаю, что вы не вставили весь свой код ... сейчас он загружает одну и ту же страницу для каждой песни, но ничего из элемента song
не используется для изменения запрос любым способом.