Sobes.tech
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.
  • Request objekts: Request klases 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, OPTIONS un citi).
  • headers: Pieprasījuma galvenes. Var būt atslēgas-vērtības objekts vai Headers klases piemērs.
  • body: Pieprasījuma ķermenis (īpaši metožu gadījumā, kas nav GET vai HEAD). Var būt virkne, ArrayBuffer, TypedArray, DataView, Blob, FormData, URLSearchParams vai ReadableStream.
  • 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ība Referer galvenē.
  • referrerPolicy: Politika Referer galvenes nodošanai.
  • integrity: Vērtība Integrity galvenē. 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: AbortSignal instances pieprasījuma atcelšanai.
  • window: Window objekts, 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));