Junior
Čo prijíma metóda fetch?
sobes.tech AI
Odpoveď od AI
Metóda fetch prijíma jeden povinný argument — cestu ku požiadavke (RequestInfo alebo URL) — a jeden voliteľný argument — objekt nastavení (RequestInit).
Povinný argument (input):
- Reťazec: URL zdroja.
- Objekt
Request: Inštancia triedyRequest, ktorá poskytuje flexibilnejšie nastavenie požiadavky (hlavičky, metóda atď.).
Voliteľný argument (init): Objekt s poliami, ktoré opisujú nastavenia požiadavky. Niektoré často používané polia:
method: HTTP metóda požiadavky (GET,POST,PUT,DELETE,OPTIONSa pod.).headers: Hlavičky požiadavky. Môže byť objektom kľúč-hodnota alebo inštanciou triedyHeaders.body: Telo požiadavky (pre metódy odlišné odGETaleboHEAD). Môže byť reťazec,ArrayBuffer,TypedArray,DataView,Blob,FormData,URLSearchParamsaleboReadableStream.mode: Režim požiadavky (cors,no-cors,same-origin,navigate).credentials: Nastavenie odoslania poverení (omit,same-origin,include).cache: Nastavenie kešovania (default,no-store,reload,no-cache,force-cache,only-if-cached).redirect: Ako spracovať presmerovania (follow,error,manual).referrer: Hodnota pre hlavičkuReferer.referrerPolicy: Politika odovzdávania hlavičkyReferer.integrity: Hodnota pre hlavičkuIntegrity. Používa sa pre Subresource Integrity.keepalive: Booleanová hodnota, ktorá určuje, či požiadavka má zostať aktívna po ukončení stránky (na odoslanie analytiky alebo správ).signal: InštanciaAbortSignalna zrušenie požiadavky.window: Objekt Window, s ktorým je požiadavka spojená (predvolene aktuálne okno).
Príklad použitia:
// Žiadosť GET
fetch('/api/users')
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Chyba:', error));
// Žiadosť POST s telom a hlavičkami
fetch('/api/products', {
method: 'POST', // HTTP metóda
headers: {
'Content-Type': 'application/json', // Typ odosielaných dát
'Authorization': 'Bearer your_token' // Príklad autorizačného hlavička
},
body: JSON.stringify({ name: 'Nový produkt', price: 100 }) // Telo požiadavky
})
.then(response => {
if (!response.ok) {
throw new Error(`HTTP chyba! status: ${response.status}`);
}
return response.json();
})
.then(data => console.log('Úspech:', data))
.catch(error => console.error('Chyba:', error));