@Scorpiored88

Почему не получается получить распарсенные данные с метода fetch?

Всем доброго!
Уже ка бы не раз работал с fetch в скриптах, но вот сейчас как то застрял, не пойму что не так :(
Вот мой кусочек кода:
getData();

function getData (){
    fetch(`http://myUrl`,{
        method: 'GET'
    }).then(response => {
        console.log('type ',response.headers.get('Content-Type'));
        console.log('staus ',response.status);
        console.log('json ',response.json()) 
    })

    .catch(error => { 
        console.log('err => ',error)
    })
    
}


Вот результат работы:

ce449f189f5b4581ac7a28adfac0bd8c.png

И вроде как ответ есть, и то что надо

ip: "10.10.12.171"
mac: "00:19:99:60:cb:36"


но как их от туда получить?
К стати response.text() возвращает тот же результат
Curl и Postman получают от сервера нормальный ответ:

{"ip": "10.10.12.171", "mac": "00:19:99:60:cb:36"}

Что же я упустил?
  • Вопрос задан
  • 222 просмотра
Пригласить эксперта
Ответы на вопрос 1
@forgetable
Node/Flutter/C++
Всё очень просто. Response.json() возвращает промис, так что вам нужно немного переписать код:

getData();

function getData (){
    fetch(`http://myUrl`,{
        method: 'GET'
    }).then(response => {
        console.log('type ',response.headers.get('Content-Type'));
        console.log('staus ',response.status);
        return response.json
    })
    .then(json => console.log('json', json))

    .catch(error => { 
        console.log('err => ',error)
    })
    
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы