Имеется код, который получает json при помощи XMLHttpRequest. Полученные данные сохраняются в переменную loadedData при вызове соответствующего слушателя.
Возможно ли записать полученный объект в переменную data?
var URL = 'https://mdn.github.io/learning-area/javascript/oojs/json/superheroes.json';
var data;
var xhr = new XMLHttpRequest();
xhr.responseType = 'json';
var xhrLoadHandler = function() {
var loadedData = xhr.response;
}
xhr.addEventListener('load', xhrLoadHandler);
xhr.open('GET', URL);
xhr.send();
Ваш XML-HTTP запрос настроен как асинхронный (Скрипт не дожидается ответа от сервера и продолжает выполнятся).
Это означает, что когда будет получен ответ от сервера, переменная data уже не будет существовать.
Измените xhr.open('GET', URL); на xhr.open('GET', URL, false); чтобы запрос был синхронным (Скрипт не будет выполнятся дальше, пока не получит ответ от сервера).
var URL = 'https://mdn.github.io/learning-area/javascript/oojs/json/superheroes.json';
var data;
var xhr = new XMLHttpRequest();
var xhrLoadHandler = function() {
data = JSON.parse(xhr.responseText);
};
xhr.addEventListener('load', xhrLoadHandler);
xhr.open('GET', URL, false);
xhr.send();
Сборка персонального компьютера от Artline: умный выбор для современных пользователей