Привет, коллеги.
Нужна ваша помощь.
Задача: в js загрузить xml-файл. Из полученного XML парсим данные и создаем некий объект. И далее уже работаем с этим объектом.
Написал такую реализацию:
<script type='application/javascript'>
function textGetFile(file) {
/* Подготавливаем объект с которым потом будем работать */
var obj = { "title" : "start", "page" : "page start" };
$.get(file,function(answer){
/*
Типо тут мы получаем содержимое файла xml и по всякому его обрабатываем.
Но для упрощения я делаю простую имитацию.
*/
obj.title = "It's work!";
console.log(obj); /* Объект изменился! */
},"xml");
/* Возвращаем объект для последующих манипуляций */
return obj;
}
var result = textGetFile("test.xml");
/* А тут по прежнему не измененный объект :( */
console.log("result: " + result.title + " " + result.page);
</script>
Код не работает! В строке где вывод в консоль - выводится измененый объект как положено. А вот result попрежнему не измененный! Мне кажется это из-за того что запрос асинхронный, что-то типо нескольких потоков и в основном потоке объект
obj не меняется а в в потоке запроса файла он меняется.
Подскажите что я не правильно делаю и как мне добится решения моей задачи.