Получить данные с сервера и вывести их на страницу
нужно отправит ajax запрос на https://swapi.dev/api/films/ и получить список всех фильмов, так же вывести такие свойства как episode_id, title, opening_crawl и персонажей из свойства characters characters массив из сылок, я делаю ajax запрос в ajax запросе на персонажей получаю в консоль всех их, как мне вывести их на страницу? Вот код
const dataContainer = document.getElementById('filmDataContainer');
function sendRequest(url) {
return fetch(url)
.then(response => {
return response.json()
})
.catch(e => {
console.error(`Something is bad ---> ${e}`)
});
}
sendRequest('https://swapi.dev/api/films/')
.then(({results}) => {
results
.map(({title, opening_crawl, episode_id, characters}) => {
const character =
Promise
.all(characters.map(url => sendRequest(url)))
.then(charactersList => {
charactersList
.forEach(({name}) => {
console.log(name);
})
})
const ulFilmDataList = document.createElement('ul');
dataContainer.appendChild(ulFilmDataList);
ulFilmDataList.innerHTML =
`<li>Film: ${title}
<ul id="filmsData">
<li>Episode: ${episode_id}</li>
<li>Description: ${opening_crawl}</li>
<li>Character name:
${//тут должны быть имена персонажей к конкретному фильму}
</li>
</ul>
</li>`
})
})
.catch((e) => {
console.error(`Error ---> ${e}`)
})
Ответы (1 шт):
Автор решения: DiD
→ Ссылка
const dataContainer = document.getElementById('filmDataContainer');
function sendRequest(url) {
return fetch(url)
.then(response => {
return response.json()
})
.catch(e => {
console.error(`Something is bad ---> ${e}`)
});
}
sendRequest('https://swapi.dev/api/films/')
.then(({results}) => {
results
.map(({title, opening_crawl, episode_id, characters}) => {
const character = Promise
.all(characters.map(url => sendRequest(url)))
.then(charactersList => {
charactersList.forEach(({name}) => {
console.log(name);
});
const ulFilmDataList = document.createElement('ul');
dataContainer.appendChild(ulFilmDataList);
ulFilmDataList.innerHTML =
`<li>Film: ${title}
<ul id="filmsData">
<li>Episode: ${episode_id}</li>
<li>Description: ${opening_crawl}</li>
<li>Character name:
${charactersList.join('<br/>')}
</li>
</ul>
</li>`;
})
})
})
.catch((e) => {
console.error(`Error ---> ${e}`)
})