• Как использовать переменную из функции в любом месте в JavaScript?

    @KoulSlou
    Я попробую объяснить, как я понимаю ситуацию, хотя я тоже в процессе изучения js.

    Чтобы использовать переменные за пределом функции, нужно чтобы эти переменные были определены за ее пределами (то есть var xmlParse; должны быть до момента объявления функции). Если вы объявляете переменную в теле функции, она будет доступна только внутри тела этой функции.

    Однако в вашем случае все осложняется использованием функции ajax из jQuery. Дело в том, что ajax запрос по умолчанию выполняется асинхронно. Что это значит? Значит, что интерпретатор доходит до строки $.ajax({}) посылает запрос и продолжает(немедленно продолжает) выполнение команды, которая идет за $.ajax({}) - он не дожидается, когда придет ответ от сервера, выполнится функция из success. Поэтому вы получали undefined как значение переменной xmlParse. Почему async решил эту проблему? async=false говорит интерпретатору, что надо дождаться ответа сервера и только потом выполнять команду, следующую за $.ajax({}). В этом случае, мы шлем запрос, ждем, получаем ответ, выполняем функцию из success (которая устанавливает значение xmlParse и оно больше не undefined) и только потом выполняем команду следующую за $.ajax({}) - то есть console.log(xmlParse)

    Пишите, если есть вопросы или непонятные js скрипты