Response : méthode statique json()
Baseline
2023
Newly available
Depuis September 2023, cette fonctionnalité fonctionne sur les appareils et les versions de navigateur les plus récents. Elle peut ne pas fonctionner sur les appareils ou navigateurs plus anciens.
Note : Cette fonctionnalité est disponible via les Web Workers.
La méthode statique json() de l'interface Response retourne un objet Response qui contient les données JSON fournies comme corps, et un en-tête HTTP Content-Type défini à application/json.
Le statut de la réponse, le message de statut et des en-têtes supplémentaires peuvent aussi être définis.
Cette méthode facilite la création d'objets Response pour retourner des données encodées en JSON.
Par exemple, les Service Workers interceptent les requêtes fetch faites par un navigateur, et peuvent utiliser json() pour construire une Response à partir de données JSON en cache à retourner au thread principal.
La méthode json() peut aussi être utilisée dans du code serveur pour retourner des données JSON pour des applications monopage, ou toute autre application où une réponse JSON est attendue.
Syntaxe
Response.json(data)
Response.json(data, options)
Paramètres
data-
Les données JSON à utiliser comme corps de la réponse.
optionsFacultatif-
Un objet d'options contenant les paramètres de la réponse, incluant le code de statut, le texte de statut et les en-têtes. Ceci est identique au paramètre options du constructeur
Response().status-
Le code de statut de la réponse, par exemple
200. statusText-
Le message de statut associé au code de statut. Pour un statut de
200cela pourrait êtreOK. headers-
Tous les en-têtes que vous souhaitez ajouter à votre réponse, contenus dans un objet
Headersou un objet littéral de paires clé/valeur de typeString(voir la référence des en-têtes HTTP).
Valeur de retour
Un objet Response.
Exceptions
TypeError-
Levée si
datane peut pas être converti en chaîne JSON. Cela peut arriver si les données sont un objet JavaScript qui possède une méthode, ou qui a une référence circulaire, ou si l'objet passé estundefined.
Exemples
>Réponse avec des données JSON
Cet exemple interactif montre comment créer un objet réponse JSON, et journalise l'objet nouvellement créé pour inspection (le code de journalisation est masqué car il n'est pas pertinent).
Le code ci-dessous crée un objet Response avec le corps JSON { ma: "donnée" } et l'en-tête défini à application/json.
const reponseJson = Response.json({ ma: "donnée" });
journaliserLaReponse(reponseJson);
L'objet possède les propriétés suivantes.
Notez que le corps et l'en-tête sont définis comme attendu, et que le statut par défaut est 200.
Réponse avec des données JSON et options
Cet exemple montre comment créer un objet réponse JSON avec les options status et statusText.
Le code ci-dessous crée un objet Response avec le corps JSON { une: "donnée", plus: "de l'information" } et l'en-tête défini à application/json.
Il définit aussi le statut à 307 et le texte de statut approprié ("Temporary Redirect").
const reponseJson = Response.json(
{ une: "donnée", plus: "de l'information" },
{ status: 307, statusText: "Temporary Redirect" },
);
journaliserLaReponse(reponseJson);
L'objet possède les propriétés suivantes, qui sont définies comme attendu.
Notez que la propriété ok de la réponse est passée à false car la valeur du statut n'est pas comprise entre 200 et 299.
Spécifications
| Specification |
|---|
| Fetch> # ref-for-dom-response-json①> |