Ваша проблема в том, что вы забыли, что означает A в AJAX.Асинхронный.Когда вы запускаете команду для
$.ajax({
type: "GET",
url: "real.xml",
dataType: "xml",
success: stuffXML
});
, она запускается немедленно, без колебаний и следует немедленно с вашим console.log.В фоновом режиме браузер занят запросом данных и , а затем , добавляя их в переменную треклиста.Итак, что вы хотите сделать, это поместить этот console.log в stuffXML.Конечно, вы, вероятно, хотите делать что-то иное, чем console.log ... так что 'stuffXML' запускает любые другие события, которые вам нужно запустить, чтобы остальная часть вашего кода делала то, что нужно.Просто помните, что веб-сервер не будет обслуживать запрос к вашей странице быстрее, чем javascript собирается перейти к следующей строке кода для выполнения.