Junior
Was nimmt die fetch-Methode an?
sobes.tech KI
Antwort von AI
Die Methode fetch akzeptiert ein obligatorisches Argument — den Pfad zur Anfrage (RequestInfo oder URL) — und ein optionales Argument — ein Konfigurationsobjekt (RequestInit).
Obligatorisches Argument (input) :
- String: URL der Ressource.
Request-Objekt: Instanz der KlasseRequest, die eine flexiblere Konfiguration der Anfrage ermöglicht (Header, Methode usw.).
Optionales Argument (init) : Ein Objekt mit Feldern, die die Anfragekonfiguration beschreiben. Einige häufig verwendete Felder:
method: HTTP-Methode der Anfrage (GET,POST,PUT,DELETE,OPTIONSusw.).headers: Anfrage-Header. Kann ein Schlüssel-Wert-Objekt oder eine Instanz der KlasseHeaderssein.body: Anfragetext (für Methoden außerGEToderHEAD). Kann eine Zeichenkette,ArrayBuffer,TypedArray,DataView,Blob,FormData,URLSearchParamsoderReadableStreamsein.mode: Anfragemodus (cors,no-cors,same-origin,navigate).credentials: Einstellung zum Senden von Anmeldeinformationen (omit,same-origin,include).cache: Cache-Einstellung (default,no-store,reload,no-cache,force-cache,only-if-cached).redirect: Wie mit Weiterleitungen umgegangen wird (follow,error,manual).referrer: Wert für denReferer-Header.referrerPolicy: Richtlinie für die Übertragung desReferer-Headers.integrity: Wert für denIntegrity-Header. Wird für Subresource Integrity verwendet.keepalive: Boolescher Wert, der angibt, ob die Anfrage nach dem Schließen der Seite aktiv bleiben soll (z.B. für Analysen oder Berichte).signal: Instanz vonAbortSignalzum Abbrechen der Anfrage.window: Das Window-Objekt, mit dem die Anfrage assoziiert ist (standardmäßig das aktuelle Fenster).
Beispiel:
// GET-Anfrage
fetch('/api/users')
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Fehler:', error));
// POST-Anfrage mit Body und Headern
fetch('/api/products', {
method: 'POST', // HTTP-Methode
headers: {
'Content-Type': 'application/json', // Datentyp
'Authorization': 'Bearer your_token' // Beispiel für Autorisierungsheader
},
body: JSON.stringify({ name: 'Neues Produkt', price: 100 }) // Anfragetext
})
.then(response => {
if (!response.ok) {
throw new Error(`HTTP-Fehler! Status: ${response.status}`);
}
return response.json();
})
.then(data => console.log('Erfolg:', data))
.catch(error => console.error('Fehler:', error));