@anderson_en

Как получить переменную из XMLHttpRequest?

Здравствуйте.
Подскажите, пожалуйста, как вывести переменную code1 за пределы функции? Конкретный пример, если не сложно
Пробовал с localStorage, но не очень удобно проводить дальнейшие манипуляции.

var xhr1 = new XMLHttpRequest(); 
xhr1.open("GET", `http://localhost:1100/api/motivation/salesData?dt=2021-09-01`);
xhr1.onload = function (e) {
    if (xhr1.readyState == 4 && xhr1.status == 200) {
        var test = xhr1.response;
        var person = JSON.parse(test);
            var code1 = person.saleSum;
            console.log(code1) // выводит
          }
 };
xhr1.send(null);
console.log(code1) //  не выводит
  • Вопрос задан
  • 81 просмотр
Решения вопроса 1
@zkrvndm
Боты, парсеры, расширения
Используйте асинхронность и fetch. Например, откройте консоль и вбейте:
result = await (await fetch('http://localhost:1100/api/motivation/salesData?dt=2021-09-01')).json();
code1 = result.saleSum;
console.log(code1); // Выводит
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
const response = await fetch('localhost:1100/api/motivation/salesData?dt=2021-09-01');
const code1 = await response.json();

Изучайте, что такое асинхронность в JS и как с ней бороться.
https://developer.mozilla.org/ru/docs/Learn/JavaSc...
https://developer.mozilla.org/ru/docs/Learn/JavaSc...
Ответ написан
Комментировать
Lynn
@Lynn
nginx, js, css
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы