Téléchargement de différents types de contenu (applications de style Metro en JavaScript et HTML)

Vous pouvez télécharger différents types de contenu lorsque vous utilisez l’option responseType de WinJS.xhr. Cette fonctionnalité constitue une nouveauté de XMLHttpRequest pour Internet Explorer 10 et les applications de style Metro en JavaScript.

Les types pris en charge sont les suivants :

  • arraybuffer : le type de response est ArrayBuffer. Ce type est utilisé pour représenter le contenu binaire sous forme de tableau de type Int8, Int64 ou tout autre type entier ou flottant. (Pour plus d’informations sur les différents tableaux typés actuellement pris en charge en JavaScript, voir Tableaux typés.) responseText et responseXML sont undefined.

    Ce code montre comment gérer une réponse arraybuffer :

    WinJS.xhr({ url: "https://www.microsoft.com", responseType: "arraybuffer" })
        .done(function complete(result) {
            var arrayResponse = result.response;
            var dataview = new DataView(arrayResponse);
            var ints = new Uint32Array(arrayResponse.byteLength / 4);
    
            xhrDiv.style.backgroundColor = "#00FF00";
            xhrDiv.innerText = "Array is " + ints.length + "uints long";
        }); 
    
  • blob : le type de response est Blob. Il est utilisé pour représenter le contenu binaire sous forme d’entité binaire unique. responseText et responseXML sont undefined.

    Ce code montre comment gérer une réponse blob :

    WinJS.xhr({ url: "https://www.microsoft.com/windows/Framework/images/win_logo.png", responseType: "blob" })
        .done(
            function (request) {
                 var imageBlob = URL.createObjectURL(request.response);
                var imageTag = xhrDiv.appendChild(document.createElement("image"));
          imageTag.src = imageBlob;
         });
    
  • document : le type de response est un objet DOM (Document Object Model) XML. Il est utilisé pour représenter du contenu XML, c’est-à-dire, du contenu du type MIME « text/xml ». Si le type MIME est différent de « text/xml », responseXML est du même type et responseText est undefined.

  • json : le type de response est String. Ce type est utilisé pour représenter les chaînes JSON. responseText est également de type String, tandis que responseXML est undefined.

  • ms-stream : le type de response est msStream, tandis que responseText et responseXML sont undefined. Ce type de réponse n’est pas défini dans la spécification W3C, mais il est pris en charge pour gérer les données diffusées en continu. Pour plus d’informations, voir Améliorations de XMLHttpRequest.

  • text (par défaut) : le type de response et responseText est String.

    Cet exemple montre comment gérer une réponse text  :

    WinJS.xhr({ url: "http://www.msdn.microsoft.com/library", responseType: "text" 
        .done(
            function (request) {
                var text = request.responseText;
                var subText = text.substring(text.indexOf("Welcome"), text.indexOf("services.") + 9);
                xhrDiv.innerHTML = subText;
        });
    

Rubriques associées

XmlHttpRequest de niveau 2

Améliorations de XMLHttpRequest