Headers: getSetCookie() Methode
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
Specification |
---|
Fetch Standard # dom-headers-getsetcookie |
Browser-Kompatibilität
BCD tables only load in the browser