Junior
Mida võtab vastu fetch meetod?
sobes.tech AI
Vastus AI-lt
fetch meetod võtab vastu ühe kohustusliku argumenti — taotluse tee (RequestInfo või URL) — ja ühe valikulise argumenti — seadetega objekti (RequestInit).
Kohustuslik argument (input):
- String: ressursi URL.
Requestobjekt:Requestklassi näide, mis võimaldab paindlikumat taotluse seadistust (pealkirjad, meetod jne).
Valikuline argument (init): Objekt, mis kirjeldab taotluse seadeid. Mõned sageli kasutatavad väljad:
method: HTTP meetod (GET,POST,PUT,DELETE,OPTIONSjne).headers: Taotluse pealkirjad. Võib olla võtme-väärtuse objekt võiHeadersklassi näide.body: Taotluse keha (erinevate meetodite puhul, välja arvatudGETvõiHEAD). Võib olla string,ArrayBuffer,TypedArray,DataView,Blob,FormData,URLSearchParamsvõiReadableStream.mode: Taotluse režiim (cors,no-cors,same-origin,navigate).credentials: Sisselogimisandmete saatmise seadistused (omit,same-origin,include).cache: Vahemälu seadistused (default,no-store,reload,no-cache,force-cache,only-if-cached).redirect: Kuidas ümber suunamisi töödelda (follow,error,manual).referrer: VäärtusRefererpealkirjale.referrerPolicy:Refererpealkirja edastamise poliitika.integrity:Integritypealkirja väärtus. Kasutatakse Subresource Integrity jaoks.keepalive: Binaarne väärtus, mis näitab, kas taotlus peaks jääma aktiivseks pärast lehe sulgemist (analüütika või aruannete saatmiseks).signal:AbortSignalnäide taotluse tühistamiseks.window:Windowobjekt, millega taotlus on seotud (vaikimisi praegune aken).
Näide:
// GET taotlus
fetch('/api/users')
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Viga:', error));
// POST koos keha ja pealkirjadega
fetch('/api/products', {
method: 'POST', // HTTP meetod
headers: {
'Content-Type': 'application/json', // Andmetüüp
'Authorization': 'Bearer your_token' // Näide autoriseerimispealkirjast
},
body: JSON.stringify({ name: 'Uus toode', price: 100 }) // Taotluse keha
})
.then(response => {
if (!response.ok) {
throw new Error(`HTTP viga! staatus: ${response.status}`);
}
return response.json();
})
.then(data => console.log('Edu:', data))
.catch(error => console.error('Viga:', error));