Junior
Ce acceptă metoda fetch?
sobes.tech AI
Răspuns de la AI
Metoda fetch acceptă un argument obligatoriu — calea către solicitare (RequestInfo sau URL) — și un argument opțional — un obiect de configurare (RequestInit).
Argument obligatoriu (input) :
- Șir de caractere: URL-ul resursei.
- Obiect
Request: Instanță a claseiRequest, care oferă o configurare mai flexibilă a solicitării (anteturi, metodă etc.).
Argument opțional (init) : Un obiect cu câmpuri care descriu configurarea solicitării. Unele câmpuri frecvent utilizate:
method: Metoda HTTP a solicitării (GET,POST,PUT,DELETE,OPTIONSetc.).headers: Anteturi ale solicitării. Poate fi un obiect cheie-valoare sau o instanță a claseiHeaders.body: Corpul solicitării (pentru metode diferite deGETsauHEAD). Poate fi un șir de caractere,ArrayBuffer,TypedArray,DataView,Blob,FormData,URLSearchParamssauReadableStream.mode: Modul solicitării (cors,no-cors,same-origin,navigate).credentials: Configurare pentru trimiterea datelor de autentificare (omit,same-origin,include).cache: Configurare cache (default,no-store,reload,no-cache,force-cache,only-if-cached).redirect: Cum să gestioneze redirecționările (follow,error,manual).referrer: Valoare pentru antetulReferer.referrerPolicy: Politica de transmitere a antetuluiReferer.integrity: Valoare pentru antetulIntegrity. Se folosește pentru integritatea resurselor sub-ressurselor.keepalive: Valoare boolean care indică dacă solicitarea trebuie să rămână activă după închiderea paginii (de exemplu, pentru trimiterea de analize sau rapoarte).signal: Instanță deAbortSignalpentru anularea solicitării.window: Obiectul Window asociat solicitării (implicit, fereastra curentă).
Exemplu de utilizare:
// Solicitare GET
fetch('/api/users')
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Eroare:', error));
// Solicitare POST cu corp și anteturi
fetch('/api/products', {
method: 'POST', // Metoda HTTP
headers: {
'Content-Type': 'application/json', // Tipul datelor trimise
'Authorization': 'Bearer your_token' // Exemplu de antet de autorizare
},
body: JSON.stringify({ name: 'Noul produs', price: 100 }) // Corpul solicitării
})
.then(response => {
if (!response.ok) {
throw new Error(`Eroare HTTP! status: ${response.status}`);
}
return response.json();
})
.then(data => console.log('Succes:', data))
.catch(error => console.error('Eroare:', error));