Я думаю, что у тебя все хорошо. saveXML создает замыкание , которое включает globDom в область действия. Закрытие, если вы не знакомы с этим термином, означает, что область действия, в которой определена функция, включена в область действия этой функции. Это означает, что поскольку globDom находится в области, в которой определено saveXML, тело saveXML может получить доступ к тому же экземпляру globDom, что и предупреждение, определенное над ним.
Я думаю, что ваша настоящая проблема заключается в том, что $ .get не является синхронным. $ .get возвращается немедленно, до завершения извлечения, что означает, что оповещение вызывается до выполнения обратного вызова. Вместо этого вы можете использовать $ .ajax и установить для параметра «async» значение false, что приведет к тому, что вызов $ .ajax не будет возвращаться до тех пор, пока запрос сервера не будет выполнен.
Тем не менее, лучшее решение - сделать ваш код асинхронным, чтобы вы передали управление обратно браузеру, чтобы пользователь мог по-прежнему взаимодействовать со страницей, ожидая завершения запроса сервера.