Sobes.tech
Junior

Mit fogad el a fetch metódus?

sobes.tech MI

Válasz az MI-től

A fetch módszer egy kötelező argumentumot — a kérés útját (RequestInfo vagy URL) — és egy opcionális argumentumot — egy konfigurációs objektumot (RequestInit) fogad.

Kötelező argumentum (input) :

  • Sztring: az erőforrás URL-je.
  • Request objektum: A Request osztály példánya, amely rugalmasabb konfigurációt tesz lehetővé a kéréshez (fejlécek, módszer stb.).

Opcionális argumentum (init) : Egy olyan objektum, amely leírja a kérés konfigurációját. Néhány gyakran használt mező:

  • method: A HTTP kérés módszere (GET, POST, PUT, DELETE, OPTIONS stb.).
  • headers: A kérés fejlécei. Lehet kulcs-érték páros objektum vagy Headers osztály példánya.
  • body: A kérés törzse (különböző módszerekhez, mint például GET vagy HEAD). Lehet sztring, ArrayBuffer, TypedArray, DataView, Blob, FormData, URLSearchParams vagy ReadableStream.
  • mode: A kérés módja (cors, no-cors, same-origin, navigate).
  • credentials: Hitelesítési adatok küldésének beállítása (omit, same-origin, include).
  • cache: A cache beállítása (default, no-store, reload, no-cache, force-cache, only-if-cached).
  • redirect: A redirect kezelés módja (follow, error, manual).
  • referrer: Az Referer fejléc értéke.
  • referrerPolicy: A Referer fejléc küldési politikája.
  • integrity: Az Integrity fejléc értéke. A Subresource Integrity-hez használják.
  • keepalive: Igaz/hamis érték, amely megadja, hogy a kérésnek aktívnak kell maradnia a oldal bezárása után (pl. elemzések vagy jelentések küldése).
  • signal: Az AbortSignal példánya a kérés megszakításához.
  • window: A Window objektum, amelyhez a kérés kapcsolódik (alapértelmezés szerint a jelenlegi ablak).

Példa:

// GET kérés
fetch('/api/users')
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error('Hiba:', error));

// POST kérés törzzsel és fejlécekkel
fetch('/api/products', {
  method: 'POST', // HTTP módszer
  headers: {
    'Content-Type': 'application/json', // Küldött adatok típusa
    'Authorization': 'Bearer your_token' // Példa az engedélyezési fejlécre
  },
  body: JSON.stringify({ name: 'Új termék', price: 100 }) // Kérés törzse
})
  .then(response => {
    if (!response.ok) {
      throw new Error(`HTTP hiba! státusz: ${response.status}`);
    }
    return response.json();
  })
  .then(data => console.log('Siker:', data))
  .catch(error => console.error('Hiba:', error));