Headers: getSetCookie() Methode
Baseline
2023
Neu verfügbar
Seit September 2023 funktioniert diese Funktion auf aktuellen Geräten und in aktuellen Browserversionen. Auf älteren Geräten oder in älteren Browsern funktioniert sie möglicherweise nicht.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die getSetCookie()-Methode der Headers-Schnittstelle gibt ein Array zurück, das die Werte aller Set-Cookie-Header enthält, die mit einer Antwort verknüpft sind. Dadurch können Headers-Objekte mit mehreren Set-Cookie-Headern umgehen, was vor der Implementierung dieser Methode nicht möglich war.
Diese Methode ist für die Verwendung in Serverumgebungen (zum Beispiel Node.js) gedacht. Browser blockieren JavaScript-Code im Frontend daran, auf den Set-Cookie-Header zuzugreifen, wie es von der Fetch-Spezifikation gefordert wird, die Set-Cookie als verbotenen Antwort-Header-Namen definiert, der aus jeder Antwort, die dem Frontend-Code ausgesetzt ist, herausgefiltert werden muss.
Syntax
getSetCookie()
Parameter
Keine.
Rückgabewert
Ein Array von Strings, das die Werte aller verschiedenen Set-Cookie-Header enthält, die mit einer Antwort verknüpft sind.
Falls keine Set-Cookie-Header gesetzt sind, gibt die Methode ein leeres Array ([ ]) zurück.
Beispiele
Wie bereits oben angedeutet, wird das Ausführen von Code wie dem folgenden auf dem Client keine Ergebnisse zurückgeben – Set-Cookie wird aus den über das Netzwerk abgerufenen Headers herausgefiltert.
fetch("https://example.com").then((response) => {
console.log(response.headers.getSetCookie());
// No header values returned
});
Jedoch könnte Folgendes verwendet werden, um mehrere Set-Cookie-Werte abzufragen. Dies ist auf dem Server viel nützlicher, würde aber auch auf dem Client funktionieren.
const headers = new Headers({
"Set-Cookie": "name1=value1",
});
headers.append("Set-Cookie", "name2=value2");
headers.getSetCookie();
// Returns ["name1=value1", "name2=value2"]
Spezifikationen
| Spezifikation |
|---|
| Fetch> # dom-headers-getsetcookie> |