Sobes.tech
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.
  • Request objekt: Request klassi 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, OPTIONS jne).
  • headers: Taotluse pealkirjad. Võib olla võtme-väärtuse objekt või Headers klassi näide.
  • body: Taotluse keha (erinevate meetodite puhul, välja arvatud GET või HEAD). Võib olla string, ArrayBuffer, TypedArray, DataView, Blob, FormData, URLSearchParams või ReadableStream.
  • 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äärtus Referer pealkirjale.
  • referrerPolicy: Referer pealkirja edastamise poliitika.
  • integrity: Integrity pealkirja 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: AbortSignal näide taotluse tühistamiseks.
  • window: Window objekt, 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));