Вчера я пытался получить некоторую помощь, но у меня не было достаточного освещения реальной проблемы, и я не давал большую часть своего кода, но здесь мы снова.Не обращайте внимания на мое плохое понимание кодирования, пожалуйста:).
Я пытаюсь перебрать ответ API GET, который находится в jSON.Но я застрял в цикле forEach, как вы можете видеть в коде.Вот сообщение об ошибке: Uncaught (в обещании) TypeError: data.forEach не является функцией index.js: 26
Вот весь код JavaScript:
"use strict";
window.addEventListener('load', () => {
let form = document.getElementById('search-form');
let content = document.getElementById('content');
let searchField = document.getElementById('search');
form.addEventListener('submit', event => {
event.preventDefault();
search(searchField.value);
});
});
/**
* Makes a request to https://restcountries.eu/rest/v2/name/{query} .
* @param {string} query The user’s search query
* @param {HTMLElement} content The <tbody> element that the result will be printed to
*/
function search(query, container) {
window.fetch('https://newsapi.org/v2/top-headlines?country=' + encodeURIComponent(query) + "&apiKey=blabla")
.then(response => response.json())
.then(data => {
console.log(data);
data.forEach(item => {
createArticlesHolders(item, container);
})
});
}
function createArticlesHolders(newsData, container) {
let card = document.createElement('div');
card.className= "card";
card.style.width = "20rem";
content.appendChild(card);
let cardTitle = createElement("h5");
cardTitle.className = "card-title";
cardTitle.textContent = newsData.title;
card.appendChild(cardTitle);
let cardImg = document.createElement("img");
cardImg.className = "card-img-top";
cardImg.setAttribute('src', newsData.urlToImage);
card.appendChild(cardImg);
}
$('#myModal').on('shown.bs.modal', function () {
$('#myInput').trigger('focus')
})
What I 'Я пытаюсь сделать так, чтобы, когда кто-то искал код страны в окне поиска, некоторые из главных новостей появлялись для страны.Затем код должен создавать элементы с классами начальной загрузки.
Вот console.log (data);