логотип PurpleSchool
Иконка входа
Вход
логотип PurpleSchool

fetch() в JavaScript

Автор

Дмитрий Фандорин

Fetch API - это интерфейс JavaScript для отправки и получения данных с сервера. Он предоставляет простой и гибкий способ работы с сетевыми запросами, а также обработки ответов.

Коротко

Fetch API позволяет отправлять запросы на сервер и получать ответы. Он использует промисы для обработки ответов, что позволяет легко управлять асинхронными операциями.

Форма записи и описание работы

Fetch API используется с помощью функции fetch(), которая принимает URL-адрес и объект параметров. Этот объект может содержать различные параметры, такие как метод запроса, заголовки, тело запроса и т.д.

Пример:

fetch('https://jsonplaceholder.typicode.com/posts', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    title: 'Мой пост',
    body: 'Текст поста',
    userId: 1
  })
})
.then(response => response.json())
.then(data => console.log(data))
.catch(err => console.error(err));

Fetch API также позволяет использовать Cookies для хранения данных аутентификации и сеанса. Для этого нужно установить параметр credentials в значение 'include'.

Пример:

fetch('https://example.com', {
  credentials: 'include'
})
.then(response => console.log(response))
.catch(err => console.error(err));

Обработка ошибок в Fetch API осуществляется с помощью метода catch(). Он вызывается, когда происходит ошибка в запросе или ответе. В методе catch() можно обработать ошибку и выполнить соответствующие действия.

Пример:

fetch('https://example.com')
.then(response => {
  if (!response.ok) {
    throw new Error('Ошибка запроса');
  }
  return response.json();
})
.then(data => console.log(data))
.catch(err => console.error(err));

Заключение

Fetch API предоставляет простой и гибкий способ работы с сетевыми запросами и ответами. Он используется с помощью функции fetch(), которая принимает URL-адрес и объект параметров. Fetch API также позволяет использовать Cookies для хранения данных аутентификации и сеанса, а также обрабатывать ошибки с помощью метода catch().

Карта развития разработчика

Получите полную карту развития разработчика по всем направлениям: frontend, backend, devops, mobile