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: Ρύθμιση cache (default,no-store,reload,no-cache,force-cache,only-if-cached).redirect: Πώς να χειριστείτε τις ανακατευθύνσεις (follow,error,manual).referrer: Τιμή για την κεφαλίδαReferer.referrerPolicy: Πολιτική για την αποστολή της κεφαλίδαςReferer.integrity: Τιμή για την κεφαλίδα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));