@Shura0102

Как получить информацию по api?

Здравствуйте! Помогите пожалуйста разобраться с api. Делаю так:

const API_KEY = "a1979074-3a11-448a-b2d2-55d1bb97cdf4";
const API_URL_POPULAR =
  "https://kinopoiskapiunofficial.tech/api/v2.2/films/1130869";

getMovies(API_URL_POPULAR);

async function getMovies(url) {
  const resp = await fetch(url, {
    headers: {
      "Content-Type": "application/json",
      "X-API-KEY": API_KEY,
    },
  });
  const respData = await resp.json();
  showMovies(respData);
  console.log(respData);
}

function showMovies(data) {
  const moviesEl = document.querySelector(".movies");

  document.querySelector(".movies").innerHTML = "";

  data.forEach((movie) => {
    const movieEl = document.createElement("div");
    movieEl.classList.add("movie");
    movieEl.innerHTML = `
<span>${movie.nameRu}</span>
        `;
    moviesEl.appendChild(movieEl);
  });
}


в console выдаёт ошибку - Uncaught (in promise) TypeError: data.forEach is not a function

Беря информацию из другого масива таким же методом, всё отлично работает.

const API_KEY = "a1979074-3a11-448a-b2d2-55d1bb97cdf4";
const API_URL_POPULAR =
  "https://kinopoiskapiunofficial.tech/api/v2.2/films/1130869";

getMovies(API_URL_POPULAR);

async function getMovies(url) {
  const resp = await fetch(url, {
    headers: {
      "Content-Type": "application/json",
      "X-API-KEY": API_KEY,
    },
  });
  const respData = await resp.json();
  showMovies(respData);
  console.log(respData);
}

function showMovies(data) {
  const moviesEl = document.querySelector(".movies");

  // Очищаем предыдущие фильмы
  document.querySelector(".movies").innerHTML = "";

  data.genres.forEach((movie) => {
    const movieEl = document.createElement("div");
    movieEl.classList.add("movie");
    movieEl.innerHTML = `
<span>${movie.genre}</span>
        `;
    moviesEl.appendChild(movieEl);
  });
}
  • Вопрос задан
  • 146 просмотров
Решения вопроса 1
XanXanXan
@XanXanXan
data - объект, а не массив, поэтому у него нет метода .forEach()
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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