Junior
Co přijímá metoda fetch?
sobes.tech AI
Odpověď od AI
Metoda fetch přijímá jeden povinný argument — cestu k požadavku (RequestInfo nebo URL) — a jeden volitelný argument — konfigurační objekt (RequestInit).
Povinný argument (input) :
- Řetězec: URL zdroje.
- Objekt
Request: Instanci třídyRequest, která umožňuje flexibilnější konfiguraci požadavku (hlavičky, metoda atd.).
Volitelný argument (init) : Objekt s poli, která popisují konfiguraci požadavku. Některá často používaná pole:
method: Metoda HTTP požadavku (GET,POST,PUT,DELETE,OPTIONSatd.).headers: Hlavičky požadavku. Může být objektem klíč-hodnota nebo instancí třídyHeaders.body: Tělo požadavku (pro metody odlišné odGETneboHEAD). Může být řetězcem,ArrayBuffer,TypedArray,DataView,Blob,FormData,URLSearchParamsneboReadableStream.mode: Režim požadavku (cors,no-cors,same-origin,navigate).credentials: Nastavení pro odeslání přihlašovacích údajů (omit,same-origin,include).cache: Nastavení cache (default,no-store,reload,no-cache,force-cache,only-if-cached).redirect: Jak zacházet s přesměrováními (follow,error,manual).referrer: Hodnota pro hlavičkuReferer.referrerPolicy: Politika přenosu hlavičkyReferer.integrity: Hodnota pro hlavičkuIntegrity. Používá se pro Subresource Integrity.keepalive: Booleanová hodnota, která udává, že požadavek by měl zůstat aktivní po uzavření stránky (například pro odesílání analýz nebo zpráv).signal: InstanciAbortSignalpro zrušení požadavku.window: Objekt Window, s nímž je požadavek spojen (výchozí je aktuální okno).
Příklad použití:
// Požadavek GET
fetch('/api/users')
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Chyba:', error));
// Požadavek POST s tělem a hlavičkami
fetch('/api/products', {
method: 'POST', // HTTP metoda
headers: {
'Content-Type': 'application/json', // Typ odesílaných dat
'Authorization': 'Bearer your_token' // Příklad hlavičky autorizace
},
body: JSON.stringify({ name: 'Nový produkt', price: 100 }) // Tělo požadavku
})
.then(response => {
if (!response.ok) {
throw new Error(`HTTP chyba! stav: ${response.status}`);
}
return response.json();
})
.then(data => console.log('Úspěch:', data))
.catch(error => console.error('Chyba:', error));