не могу запросить данные из API "undefined" в консоли журнала - PullRequest
0 голосов
/ 13 марта 2020

Я пытаюсь получить данные из API-интерфейса publi c, но в журнале консоли я получаю "undefined".

вот что я пробовал до сих пор

const api_url = 'https://wger.de/api/v2/exercise/?format=json&page=29';

async function getExercises() {
    const response = await fetch(api_url);
    const data = await response.json();
    console.log(data.name);

}
getExercises();

Вы видите, что я делаю не так? заранее спасибо.

Ответы [ 2 ]

3 голосов
/ 13 марта 2020

Вы пытаетесь получить доступ к свойству, которое не существует. Если вы измените свой код на

const api_url = 'https://wger.de/api/v2/exercise/?format=json&page=29';

async function getExercises() {
    const response = await fetch(api_url);
    const data = await response.json();
    console.log(data);

}
getExercises();

, вы обнаружите, что возвращенный ответ не содержит свойства name внутри него.

Что вы хотите сделать, чтобы получить имя этого массива объектов.

const api_url= 'https://wger.de/api/v2/exercise/?format=json&page=29';

            async function getExercises(){
                const response = await fetch(api_url);
                const data = await response.json();
                console.log(data.results[0].name); // <- results is an array and each item in that array has a name property inside it.

            }
            getExercises();

и получить все имена, вы можете сделать

const api_url= 'https://wger.de/api/v2/exercise/?format=json&page=29';

            async function getExercises(){
                const response = await fetch(api_url);
                const data = await response.json();
                data.results.forEach( item => console.log(item.name))

            }
            getExercises();
1 голос
/ 13 марта 2020

Вы можете отладить и посмотреть, какой дескриптор данных: enter image description here

, затем вы можете получить имя данных, например JS Lover anwser

console.log(data.results[0].name);
...