Как передать полученные из Json данные в переменную для вывода на сайт?

Подскажите пожалуйста, как передать полученные из Json данные в переменную для вывода на сайт?
Данные получаю и вывожу в консоль, затем необходимо передать их в переменную для обработки и вывода.
Далее функция "showData()" выводит полученные данные на сайт.
Заранее благодарю!

jsfiddle


codepen
  • Вопрос задан
  • 98 просмотров
Решения вопроса 1
Twstd
@Twstd
Разрабатываю приложения и микросервисы на Nodejs
Это вариант для случая если функция getData необходима, там как можно просто воспользоваться fetch и передать в результат его выполнения функцию showData, не оборачивая fetch лишний раз в асинхронную функцию...
В функции showData не все ключи присутствуют в ответе, там уже сами решите что убрать, а что оставить
// get data
async function getData() {
  let result = await fetch("https://jsonplaceholder.typicode.com/posts")
    .then((response) => response.json());
// .then(json => console.log(json)) - эту строчку убираем, она приводила к тому, что fetch  не возвращал результат
  return result;
}

// show data
getData().then((result) => showData(result));
function showData(allGoods) {
  let outGoods = "";
  for (let key in allGoods) {
    outGoods += `
        <div class="goods__item">
            <a><img src="${allGoods[key].image}"/></a>
            <div class="goods__tx">
                <h2>${allGoods[key].name}</h2>
                <p>${allGoods[key].desc}</p>
                <span>${allGoods[key].availability}</span>
                <div class="goods__bottom">
                    <b>${allGoods[key].price} $</b>
                    <div class="goods__btn">
                        <button class="goods__minus" data-id="${key}">-</button>
                        <button class="goods__plus" data-id="${key}">+</button>
                    </div>
                </div>
            </div>
        </div>`;
  }
  let goodsContent = document.querySelector(".goods .container");
  goodsContent.innerHTML = outGoods;
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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