Junior
92
questionbank
Что принимает метод fetch?
Ответ от нейросети
sobes.tech AI
Метод fetch принимает один обязательный аргумент — путь к запросу (RequestInfo или URL) — и один опциональный аргумент — объект настроек (RequestInit).
Обязательный аргумент (input):
- Строка: URL ресурса.
- Объект
Request: Экземпляр классаRequest, предоставляющий более гибкую настройку запроса (заголовки, метод и т.д.).
Опциональный аргумент (init): Объект с полями, описывающими настройки запроса. Некоторые часто используемые поля:
method: HTTP-метод запроса (GET,POST,PUT,DELETE,OPTIONS, и т.д.).headers: Заголовки запроса. Может быть объектом вида ключ-значение или экземпляром классаHeaders.body: Тело запроса (для методов, отличных отGETилиHEAD). Может быть строкой,ArrayBuffer,TypedArray,DataView,Blob,FormData,URLSearchParamsилиReadableStream.mode: Режим запроса (cors,no-cors,same-origin,navigate).credentials: Настройка отправки учетных данных (omit,same-origin,include).cache: Настройка кэширования (default,no-store,reload,no-cache,force-cache,only-if-cached).redirect: Как обрабатывать перенаправления (follow,error,manual).referrer: Значение для заголовкаReferer.referrerPolicy: Политика передачи заголовкаReferer.integrity: Значение для заголовкаIntegrity. Используется для Subresource Integrity.keepalive: Булево значение, указывающее, что запрос должен оставаться в активном состоянии после завершения страницы (для отправки аналитики или отчетов).signal: ЭкземплярAbortSignalдля отмены запроса.window: Объект Window, с которым ассоциируется запрос (по умолчанию текущее окно).
Пример использования:
// Запрос GET
fetch('/api/users')
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Ошибка:', error));
// Запрос POST с телом и заголовками
fetch('/api/products', {
method: 'POST', // HTTP метод
headers: {
'Content-Type': 'application/json', // Тип отправляемых данных
'Authorization': 'Bearer your_token' // Пример авторизационного заголовка
},
body: JSON.stringify({ name: 'Новый продукт', price: 100 }) // Тело запроса
})
.then(response => {
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
return response.json();
})
.then(data => console.log('Успех:', data))
.catch(error => console.error('Ошибка:', error));