Herunterladen verschiedener Typen von Inhalten (Apps im Metro-Stil mit JavaScript und HTML)

Sie können unterschiedliche Inhaltstypen herunterladen, indem Sie die responseType-Option von WinJS.xhr verwenden. Dieses Feature ist neu in XMLHttpRequest für Internet Explorer 10 und Apps im Metro-Stil mit JavaScript.

Die folgenden Typen werden unterstützt:

  • arraybuffer: Der Typ response ist eine ArrayBuffer. Mit diesem Typ werden binäre Inhalte als Array vom Typ Int8, Int64 oder anderer ganzahliger oder Gleitkommatypen dargestellt. (Weitere Informationen zu den unterschiedlichen zurzeit in JavaScript unterstützten typisierten Arrays finden Sie unter Typisierte Arrays.) responseText und responseXML sind undefined.

    Im folgenden Code wird das Behandeln einer arraybuffer-Antwort dargestellt:

    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: Der Typ response ist eine Blob. Damit werden binäre Inhalt als einzelne binäre Entität dargestellt. responseText und responseXML sind undefined.

    Im folgenden Code wird das Behandeln einer blob-Antwort dargestellt:

    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: Der Typ response ist ein XML-DOM-Objekt (Document Object Model). Damit werden XML-Inhalte dargestellt, also Inhalte mit dem MIME-Typ "text/xml". (Wenn der MIME-Typ nicht "text/xml" ist, ist responseXML von demselben Typ, während responseTextundefined ist.

  • json: Der Typ response ist eine String. Damit werden JSON-Zeichenfolgen dargestellt. responseText ist ebenfalls vom Typ String, während responseXMLundefined ist.

  • ms-stream: Der Typ response ist msstream, und responseText sowie responseXML sind undefined. Dieser Antworttyp ist in der W3C-Spezifikation nicht enthalten. Er wird aber unterstützt, um das Streamen von Daten zu vereinfachen. Weitere Informationen finden Sie unter XMLHttpRequest-Erweiterungen.

  • text (Standardtyp): Der Typ response und responseText sind String.

    Im folgenden Beispiel wird das Behandeln einer text -Antwort dargestellt:

    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;
        });
    

Verwandte Themen

XmlHttpRequest Stufe 2

XMLHttpRequest-Erweiterungen