Так работает AJAX (асинхронно). Операторы console.log
вне обработчика событий success
выполняются до того, как ответ будет возвращен (поэтому ничего не было присвоено window.response
). Поместите код, основанный на ответе AJAX, в обработчик событий success
.
Кроме того, вы можете сделать запрос синхронным, но обычно это не то, что вам нужно, поскольку он может блокировать браузер до тех пор, пока ответ не будет возвращен.
Обновление (см. Комментарии и редактирование к вопросу)
Как я упоминал ранее, вам нужно поместить весь код, основанный на ответе AJAX, в готовый обработчик событий:
function get_playlist(){
var result = jQuery.ajax({
//Other AJAX options removed
success: function(response) {
var myPlaylist = new jPlayerPlaylist(cssSelector, response, options);
myPlaylist.shuffle(true, true);
}
});
}