Показать сообщение отдельно
  #1 (permalink)  
Старый 14.12.2018, 22:05
Аспирант
Отправить личное сообщение для yintar Посмотреть профиль Найти все сообщения от yintar
 
Регистрация: 04.08.2014
Сообщений: 42

Присваивание при выполнении ajax
Здравствуйте.
Никак не могу понять такой момент.

var a;
    const myButton = document.querySelector('#myButton');
    const content = document.querySelector('#content');
    myButton.addEventListener('click', function () {
        const xhr = new XMLHttpRequest();
        xhr.open('GET', 'http://testhtml/some.php');
        xhr.send();

        xhr.addEventListener('load', function () {
            a = xhr.responseText;
            console.log(a);
            return a;
        });
    });

    console.log(a);


В этом коде вроде все просто.Делаю аякс запрос ,получаю данные и результат записываю в переменную a которая объявлена перед аякс запросом. Затем я хочу использовать эту переменную a, с записанным в нее значением полученным в результате аякс запроса ,но уже использовать эту переменную после аякс запроса, но здесь console.log(a); я получаю undefined.......

Я конечно понимаю, что запрос асинхронный и сначала выполняется весь основной код, или я не так понимаю???????????
И как все-таки, если это возможно , записать результат аякс ответа в переменную и потом использовать эту переменную, например передать в функцию.

Объясните, это ,пожалуйста, можно на примере моего кода.
Всем спасибо.
Ответить с цитированием