Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Как отправить HTTP-запрос

Короткий ответ

fetch() отправляет запрос и возвращает промис с ответом. response.json() читает тело как JSON:

const response = await fetch('https://api.example.com/users/1');
const user = await response.json();
 
console.log(user.name);

Отправка JSON

Для POST-запроса укажите метод, заголовок Content-Type и тело в виде строки JSON:

const response = await fetch('https://api.example.com/users', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ name: 'Anna', email: 'anna@example.com' }),
});
const created = await response.json();

Заголовки

Токен для API обычно передают в заголовке Authorization:

const response = await fetch('https://api.example.com/orders', {
  headers: { Authorization: `Bearer ${token}` },
});

Частая ошибка

fetch() завершается с ошибкой только при сбое сети. Ответ со статусом 404 или 500 считается успешным, поэтому проверяйте response.ok:

const response = await fetch('https://api.example.com/users/999');
 
if (!response.ok) {
  throw new Error(`Request failed with status ${response.status}`);
}

Функции из этого ответа

  • fetch — Отправляет HTTP-запрос и возвращает промис ответа.
  • JSON.parse — Разбирает строку JSON и возвращает значение.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.