API, использующие выборку - невозможно прочитать свойство forEach из undefined - PullRequest
0 голосов
/ 30 мая 2020

Я пытаюсь выбрать все имена персонажей из Игры престолов (показать) с помощью API https://api.got.show/api/general/characters/. Я пробовал несколько методов, и все они терпели неудачу. Прямо сейчас он говорит: «TypeError: Невозможно прочитать свойство 'forEach' of undefined», когда я пробовал с другими API, и он работает. Я не знаю что делать Вот мой код:

<body>
    <h1>Game of thrones</h1>
    <select>
        <option id="characters"></option>
</select>
    <script>
        fetch('https://api.got.show/api/general/characters/')
            .then(data => data.json())
            .then(data_json => {
                console.log(data_json)
                show(data_json)
            })
            .catch(err => alert(`Ha habido un error. ${err}`))

        let show = data_json => {
            data_json.results.forEach((element, index) => {
                document.getElementById('characters').innerHTML += `<option class""character">${element.name}</option>`;
            });
        }
    </script>
</body>

1 Ответ

1 голос
/ 30 мая 2020

Я сам пробовал вызвать API. Похоже, что data_json имеет два свойства book и show, но не results.

Попробуйте использовать этот фрагмент для функции show:

let show = data_json => {
  data_json.show.forEach((element, index) => {
    document.getElementById('characters').innerHTML += `<option class="character">${element.name}</option>`;
  });
}

...