Sobes.tech
Junior

Ինչ է ընդունում fetch մեթոդը։

sobes.tech AI

Պատասխան AI-ից

fetch մեթոդը ընդունում է մեկ պարտադիր արգումենտ՝ հարցման ուղին (RequestInfo կամ URL)՝ և մեկ ընտրովի արգումենտ՝ կարգավորումների օբյեկտ (RequestInit

Պարտադիր արգումենտ (input):

  • տող՝ ռեսուրսի URL։
  • Request օբյեկտ՝ Request դասի օրինակ, որը ապահովում է ավելի ճկուն հարցման կարգավորումներ (համաձայնագրեր, մեթոդ և այլն)։

Ընտրովի արգումենտ (init): Օբյեկտ, որը նկարագրում է հարցման կարգավորումները։ Որոշ հաճախ օգտագործվող դաշտեր՝

  • method: HTTP մեթոդը (GET, POST, PUT, DELETE, OPTIONS և այլն)։
  • headers: Հարցման գլխագրեր։ Կարող է լինել բանալի-արժեք օբյեկտ կամ Headers դասի օրինակ։
  • body: Հարցման մարմինը (այն մեթոդների համար, որոնք տարբերվում են GET կամ HEAD)։ Կարող է լինել տող, ArrayBuffer, TypedArray, DataView, Blob, FormData, URLSearchParams կամ ReadableStream։
  • mode: Հարցման ռեժիմը (cors, no-cors, same-origin, navigate
  • credentials: Փոխանցման կարգավորումներ (omit, same-origin, include
  • cache: Կեշավորման կարգավորումներ (default, no-store, reload, no-cache, force-cache, only-if-cached
  • redirect: Ինչպես մշակել ուղղումները (follow, error, manual
  • referrer: Referer գլխագրի արժեքը։
  • referrerPolicy: Referer գլխագրի փոխանցման քաղաքականությունը։
  • integrity: Integrity գլխագրի արժեքը։ Օգտագործվում է Subresource Integrity-ի համար։
  • keepalive: Բուլյան արժեք, որը ցույց է տալիս, որ հարցումը պետք է մնա ակտիվ էջի ավարտից հետո (անալիտիկայի կամ հաշվետվությունների համար)։
  • signal: AbortSignal օրինակ՝ հարցումը չեղյալ համարելու համար։
  • window: Window օբյեկտ, որի հետ հարցումը կապված է (նույնպես, ներկայիս պատուհանը)։

Օգտագործման օրինակ՝

// GET հարցում
fetch('/api/users')
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error('Սխալ:', error));

// POST հարցում մարմնով և գլխագրերով
fetch('/api/products', {
  method: 'POST', // HTTP մեթոդ
  headers: {
    'Content-Type': 'application/json', // Տվյալների տեսակ
    'Authorization': 'Bearer your_token' // Օրինակ, թույլտվության գլխագիր
  },
  body: JSON.stringify({ name: 'Նոր ապրանք', price: 100 }) // Հարցման մարմինը
})
  .then(response => {
    if (!response.ok) {
      throw new Error(`HTTP սխալ! վիճակ: ${response.status}`);
    }
    return response.json();
  })
  .then(data => console.log('Հաջողություն:', data))
  .catch(error => console.error('Սխալ:', error));