Junior
Ko pieņem fetch metode?
sobes.tech AI
Atbilde no AI
fetch metode pieņem vienu obligātu argumentu — pieprasījuma ceļu (RequestInfo vai URL) — un vienu izvēles argumentu — iestatījumu objektu (RequestInit).
Obligātais arguments (input):
- Virkne: resursa URL.
Requestobjekts:Requestklases piemērs, kas nodrošina elastīgāku pieprasījuma iestatījumu konfigurāciju (galvenes, metode utt.).
Izvēles arguments (init): Objekts ar laukiem, kas raksturo pieprasījuma iestatījumus. Daži bieži lietoti lauki:
method: HTTP metode (GET,POST,PUT,DELETE,OPTIONSun citi).headers: Pieprasījuma galvenes. Var būt atslēgas-vērtības objekts vaiHeadersklases piemērs.body: Pieprasījuma ķermenis (īpaši metožu gadījumā, kas navGETvaiHEAD). Var būt virkne,ArrayBuffer,TypedArray,DataView,Blob,FormData,URLSearchParamsvaiReadableStream.mode: Pieprasījuma režīms (cors,no-cors,same-origin,navigate).credentials: Piekļuves datu sūtīšanas iestatījumi (omit,same-origin,include).cache: Kešatmiņas iestatījumi (default,no-store,reload,no-cache,force-cache,only-if-cached).redirect: Kā apstrādāt pāradresēšanu (follow,error,manual).referrer: VērtībaReferergalvenē.referrerPolicy: PolitikaReferergalvenes nodošanai.integrity: VērtībaIntegritygalvenē. Izmanto Subresource Integrity.keepalive: Bultas vērtība, kas norāda, vai pieprasījums jāpaliek aktīvs pēc lapas beigām (analītikai vai ziņojumiem).signal:AbortSignalinstances pieprasījuma atcelšanai.window:Windowobjekts, ar kuru ir saistīts pieprasījums (pēc noklusējuma pašreizējais logs).
Piemērs:
// GET pieprasījums
fetch('/api/users')
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Kļūda:', error));
// POST ar ķermeni un galvenēm
fetch('/api/products', {
method: 'POST', // HTTP metode
headers: {
'Content-Type': 'application/json', // Datu tips
'Authorization': 'Bearer your_token' // Piemērs autorizācijas galvenei
},
body: JSON.stringify({ name: 'Jauns produkts', price: 100 }) // Pieprasījuma ķermenis
})
.then(response => {
if (!response.ok) {
throw new Error(`HTTP kļūda! statuss: ${response.status}`);
}
return response.json();
})
.then(data => console.log('Veiksme:', data))
.catch(error => console.error('Kļūda:', error));