XMLHttpRequest : propriété responseType
Baseline
Large disponibilité
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis novembre 2016.
Note : Cette fonctionnalité est disponible via les Web Workers, sauf pour les Service Workers.
La propriété responseType de l'interface XMLHttpRequest est une chaîne de caractères énumérée définissant le type de données contenues dans la réponse.
Cela permet également à l'auteur·ice de changer le type de réponse. Si une chaîne de caractères vide est définie comme valeur de responseType, la valeur par défaut text est utilisée.
Valeur
Une chaîne de caractères qui définit le type de données contenues dans la réponse. Cela peut prendre les valeurs suivantes :
""-
Une chaîne de caractères vide pour
responseTypeest équivalente à"text", le type par défaut. "arraybuffer"-
La
responseest un objetArrayBufferJavaScript contenant des données binaires. "blob"-
La
responseest un objetBlobcontenant les données binaires. "document"-
La
responseest unDocumentHTML ou unXMLDocumentXML, selon le type MIME des données reçues. Voir HTML dans XMLHttpRequest pour en savoir plus sur l'utilisation de XHR pour récupérer du contenu HTML. "json"-
La
responseest un objet JavaScript créé en analysant le contenu des données reçues comme du JSON. "text"-
La
responseest un texte sous forme de chaîne de caractères.
Note :
Lors de la définition de responseType sur une valeur particulière, l'auteur·ice doit s'assurer que le serveur envoie réellement une réponse compatible avec ce format. Si le serveur retourne des données qui ne sont pas compatibles avec le responseType défini, la valeur de response est null.
Exceptions
InvalidAccessErrorDOMException-
Une tentative a été faite pour changer la valeur de
responseTypesur unXMLHttpRequestqui est en mode synchrone mais pas dans unWorker. Pour plus de détails, voir Restrictions XHR synchrones ci-dessous.
Notes d'utilisation
>Restrictions XHR synchrones
Vous ne pouvez pas changer la valeur de responseType dans un XMLHttpRequest synchrone, sauf lorsque la requête appartient à un Worker.
Cette restriction est conçue en partie pour aider à garantir que les opérations synchrones ne sont pas utilisées pour de grandes transactions qui bloquent le thread principal du navigateur, ralentissant ainsi l'expérience utilisateur·ice.
Les requêtes XHR sont asynchrones par défaut ; elles ne sont placées en mode synchrone qu'en passant false comme valeur du paramètre optionnel async lors de l'appel de open().
Restrictions dans les Workers
Les tentatives de définition de la valeur de responseType sur document sont ignorées dans un Worker.
Spécifications
| Spécification |
|---|
| XMLHttpRequest> # the-responsetype-attribute> |
Compatibilité des navigateurs
Voir aussi
- Utiliser XMLHttpRequest
- HTML dans XMLHttpRequest
- Les données de réponse :
response,responseTextetresponseXML