эти возвраты XsltParseError
и причина этого - то, что
не предопределенный объект в XML или XSLT, как это находится в HTML.
Вы могли просто использовать unicode символ, который
обозначает:  
$.ajax({
async: false,
type: 'GET',
url: 'http://localhost/play.php',
success: function(data) {
//callback
}
});
Это должно сработать.
http: // docs.jquery.com/Ajax/jQuery.ajax#options[1299 visible
Если вы не хотели потенциально блокировать в браузере, вы можете сделать это таким образом, чтобы песни продолжались до тех пор, пока они все не были обработаны.
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
не используется, чтобы каким-либо образом изменить запрос.