@Grione

Как записать данные в переменную из GET запроса?

У меня есть функция которая получает данные с сервера. Мне нужно что бы эти данные записались в переменную JS. Тут явно что-то с асинхронностью, но я не понимаю как пофиксить.

let allDots;
function getJSON() {
    let xhr = new XMLHttpRequest();
    let url = "http://mysite.ru/json.php";
    
    xhr.open("GET", url, true);
    xhr.setRequestHeader("Content-Type", "application/json");
    xhr.send();
    xhr.onreadystatechange = function () {
        if (xhr.readyState === 4 && xhr.status === 200) {
            res = JSON.parse(this.responseText);
            console.log(res);  // <--- тут данные есть 
            return res; 
            
        }
    };
}

allDots = getJSON(); // <-- тут undefined;
  • Вопрос задан
  • 1089 просмотров
Пригласить эксперта
Ответы на вопрос 3
можно воспользоваться кое-чем поновее
https://learn.javascript.ru/fetch
Ответ написан
tyoma_koder
@tyoma_koder
получить ссылку текущей страницы c помощью window.location и достать оттуда get параметр регуляркой
Ответ написан
Комментировать
zkrvndm
@zkrvndm
Архитектор решений
Все куда проще, чем вы думайте, просто выполните в консоли:
let allDots = await (await fetch('http://mysite.ru/json.php')).json();
console.log('Содержимое переменной allDots:');
console.dir(allDots);

Разумеется адрес для загрузки JSON замените на свой.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы