@sawuer

Как правильно получить данные через fetch() вместе с заголовком со стороннего API?

При помощи Postman у меня получается получить данные по адрессу "https://api.weather.yandex.ru/v1/forecast?lang=ru&..." и с заголовком "X-Yandex-API-Key: <тут мой api ключ>":
5da4ae64a11d0787438535.png

Делаю тоже самое, но с fetch():
fetch('https://api.weather.yandex.ru/v1/forecast?lang=ru'+ '&lat=' + this.props.city.lat + '&lon=' + this.props.city.lon, {
      headers: (new Headers({
        'X-Yandex-API-Key': API_KEY
      }));
    })
      .then(resp => resp.json())
      .then(res => {
        console.log(res)
      });

Я получаю код 200 и пустой респонс:
5da4afcc9b800507401201.png

В чем может быть проблема?
  • Вопрос задан
  • 710 просмотров
Пригласить эксперта
Ответы на вопрос 1
@2bllk
Может стоит попробовать указать метод: "method: 'GET'"?
fetch('https://api.weather.yandex.ru/v1/forecast?lang=ru'+ '&lat=' + this.props.city.lat + '&lon=' + this.props.city.lon, {
    method: 'GET',
    headers: (new Headers({
        'X-Yandex-API-Key': API_KEY
    }))
}).then(resp => resp.json()).then(res => {
    console.log(res)
});

Ибо я вижу у Вас на последнем скриншоте указано, что запрос происходит методом OPTIONS, а должен — методом GET
Ответ написан
Ваш ответ на вопрос

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

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