Response: json() statische 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 json() statische Methode des Response-Interfaces gibt ein Response zurück, welches die bereitgestellten JSON-Daten als Body enthält, sowie ein Content-Type-Header, der auf application/json gesetzt ist. Der Status der Antwort, die Statusnachricht und zusätzliche Header können ebenfalls gesetzt werden.
Die Methode erleichtert die Erstellung von Response-Objekten, um JSON-codierte Daten zurückzugeben. Service Workers beispielsweise fangen Fetch-Anfragen eines Browsers ab und könnten json() verwenden, um ein Response aus zwischengespeicherten JSON-Daten zu erstellen, das an den Hauptthread zurückgegeben wird. Die json()-Methode kann auch im Server-Code verwendet werden, um JSON-Daten für Single Page Applications und andere Anwendungen, bei denen eine JSON-Antwort erwartet wird, zurückzugeben.
Syntax
Response.json(data)
Response.json(data, options)
Parameter
data-
Die JSON-Daten, die als Antwortkörper verwendet werden sollen.
optionsOptional-
Ein Optionen-Objekt mit Einstellungen für die Antwort, einschließlich des Statuscodes, der Statusnachricht und der Header. Dies entspricht dem Optionen-Parameter des
Response()-Konstruktors.status-
Der Statuscode für die Antwort, z. B.
200. statusText-
Die Statusnachricht, die mit dem Statuscode verknüpft ist. Für einen Status von
200könnte diesOKsein. headers-
Beliebige Header, die Sie Ihrer Antwort hinzufügen möchten, enthalten in einem
Headers-Objekt oder einem Objektliterar vonString-Schlüssel/Wert-Paaren (siehe HTTP-Header für eine Referenz).
Rückgabewert
Ein Response-Objekt.
Ausnahmen
TypeError-
Wird ausgelöst, wenn
datanicht in einen JSON-String umgewandelt werden kann. Dies könnte passieren, wenn die Daten ein JavaScript-Objekt mit einer Methode sind, oder das eine zyklische Referenz hat, oder wenn das übergebene Objektundefinedist.
Beispiele
>Antwort mit JSON-Daten
Dieses Live-Beispiel zeigt, wie Sie ein JSON-Antwortobjekt erstellen können und protokolliert das neu erstellte Objekt zur Inspektion (der Protokollierungscode ist ausgeblendet, da er nicht relevant ist).
Der folgende Code erstellt ein Response-Objekt mit JSON-Body { my: "data" } und Header, der auf application/json gesetzt ist.
const jsonResponse = Response.json({ my: "data" });
logResponse(jsonResponse);
Das Objekt hat folgende Eigenschaften. Beachten Sie, dass der Body und der Header wie erwartet gesetzt sind und der Standardstatus auf 200 gesetzt ist.
Antwort mit JSON-Daten und Optionen
Dieses Beispiel zeigt, wie Sie ein JSON-Antwortobjekt mit status und statusText-Optionen erstellen können.
Der folgende Code erstellt ein Response-Objekt mit JSON-Body { some: "data", more: "information" } und Header, der auf application/json gesetzt ist. Es setzt auch den Status auf 307 und setzt den entsprechenden Status-Text ("Temporary Redirect").
const jsonResponse = Response.json(
{ some: "data", more: "information" },
{ status: 307, statusText: "Temporary Redirect" },
);
logResponse(jsonResponse);
Das Objekt hat die folgenden Eigenschaften, die wie erwartet gesetzt sind. Beachten Sie, dass sich die ok-Eigenschaft der Antwort zu false ändert, da der Statuswert nicht im Bereich von 200 bis 299 liegt.
Spezifikationen
| Spezifikation |
|---|
| Fetch> # ref-for-dom-response-json①> |