XMLHttpRequest.response
=======================

La propriété `XMLHttpRequest.response` contient le corps de la réponse. Elle peut être de type ArrayBuffer, Blob, Document, un objet JavaScript ou une DOMString en fonction de la valeur de la propriété `XMLHttpRequest.responseType`. La réponse ( `Value of response` ) est nulle si la requête est incomplète ou n'as pas été effectué avec succès. Cependant, si `responseType` est "text" ou une chaine vide et tant que la requête est en cours ( dans l'état *loading* ), `response` peut contenir la réponse partielle.

|  |  |
| --- | --- |
| Valeur de `responseType` | Type de donnée de la propriété `response` |
| `""` | `DOMString` (valeur par défaut) |
| `"arraybuffer"` | `ArrayBuffer` |
| `"blob"` | `Blob` |
| `"document"` | `Document` |
| `"json"` | Objet JavaScript depuis une réponse JSON. |
| `"text"` | `DOMString` |
| `"moz-blob"` 
Non-standard
 | 
 Used by Firefox to allow retrieving partial `Blob`
 data from progress events. This lets your progress event handler start
 processing data while it's still being received.
  |
| `"moz-chunked-text"`
Non-standard
 | 
 Similar to `"text"`, but is streaming. This means that the
 value in `response` is only available during dispatch of
 the `"progress"` event and only contains the data received
 since the last `"progress"` event.


 When `response` is accessed during a
 `"progress"` event it contains a string with the data.
 Otherwise it returns `null`.

This mode currently only works in Firefox. |
| `"moz-chunked-arraybuffer"`
Non-standard
 | 
 Similar to `"arraybuffer"`, but is streaming. This means
 that the value in `response` is only available during
 dispatch of the `"progress"` event and only contains the
 data received since the last `"progress"` event.


 When `response` is accessed during a
 `"progress"` event it contains a string with the data.
 Otherwise it returns `null`.

This mode currently only works in Firefox. |
| "ms-stream"
Non-standard
 | 
 Indique que la réponse est une partie d'un téléchargement d'un flux
 (?). Supporté uniquement pour les requêtes des téléchargements et
 disponible uniquement dans Internet Explorer.
  |

**Note :** À partir de Gecko 11.0 et de WebKit build 528, ces navigateurs ne permettent plus l'utilisation de l'attribut `responseType` lors des requêtes synchrones. Cela renvoi l'erreur `NS_ERROR_DOM_INVALID_ACCESS_ERR`. Ce changement a été proposé au W3C afin d'être standardisé.

Example
-------


```js
var url = "somePage.html"; // une page locale

function load(url, callback) {
  var xhr = new XMLHttpRequest();

  xhr.onreadystatechange = function () {
    if (xhr.readyState === 4) {
      console.log(xhr.response); // Par défault une DOMString
    }
  };

  xhr.open("GET", url, true);
  xhr.send("");
}
```

Spécifications
--------------

| Specification |
| --- |
| XMLHttpRequest Standard # the-response-attribute |

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Voir aussi
----------

* `XMLSerializer` : Sérialisation d'un arbre DOM en XML
* Tutoriels MDN couvrant le `XMLHttpRequest` :
    + Ajax — Pour commencer
    + Utilisation de XMLHttpRequest
    + HTML dans XMLHttpRequest (en-US)
    + Fetch API
* HTML5 Rocks — New Tricks in XMLHttpRequest2
* Directive Feature-Policy `sync-xhr` (en-US)