Junior
Šta prihvata metoda fetch?
sobes.tech АИ
Одговор од АИ
Metod fetch prima jedan obavezan argument — putanju do zahteva (RequestInfo ili URL) — i jedan opcioni argument — objekat sa podešavanjima (RequestInit).
Obavezan argument (input):
- Niz: URL resursa.
- Objekat
Request: Instanca klaseRequest, koja pruža fleksibilnije podešavanje zahteva (zaglavlja, metoda itd.).
Opcioni argument (init): Objekat sa poljima koja opisuju podešavanja zahteva. Neki često korišćeni atributi:
method: HTTP metoda zahteva (GET,POST,PUT,DELETE,OPTIONSitd.).headers: Zaglavlja zahteva. Može biti objekat ključ-vrednost ili instanca klaseHeaders.body: Telo zahteva (za metode različite odGETiliHEAD). Može biti niz,ArrayBuffer,TypedArray,DataView,Blob,FormData,URLSearchParamsiliReadableStream.mode: Režim zahteva (cors,no-cors,same-origin,navigate).credentials: Podešavanje za slanje podataka za autentifikaciju (omit,same-origin,include).cache: Podešavanje keširanja (default,no-store,reload,no-cache,force-cache,only-if-cached).redirect: Kako da se obrađuju preusmeravanja (follow,error,manual).referrer: Vrednost za zaglavljeReferer.referrerPolicy: Politika prenosa zaglavljaReferer.integrity: Vrednost za zaglavljeIntegrity. Koristi se za Subresource Integrity.keepalive: Buleova vrednost koja ukazuje da zahtev treba ostati aktivan nakon završetka stranice (za slanje analitike ili izveštaja).signal: InstancaAbortSignalza otkazivanje zahteva.window: Objekt Window sa kojim je zahtev povezan (po defaultu trenutni prozor).
Primer upotrebe:
// GET zahtev
fetch('/api/users')
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Greška:', error));
// POST zahtev sa telom i zaglavljima
fetch('/api/products', {
method: 'POST', // HTTP metoda
headers: {
'Content-Type': 'application/json', // Tip podataka
'Authorization': 'Bearer your_token' // Primer autorizacionog zaglavlja
},
body: JSON.stringify({ name: 'Novi proizvod', price: 100 }) // Telo zahteva
})
.then(response => {
if (!response.ok) {
throw new Error(`HTTP greška! status: ${response.status}`);
}
return response.json();
})
.then(data => console.log('Uspeh:', data))
.catch(error => console.error('Greška:', error));