hotti: jQuery xhr.responseType arraybuffer

hi,

gerne würde ich meine proprietär-experimental-Lib ablösen duch eine professionelle Lösung mit jQuery.

Es ist jedoch erforderlich, dass ein xhr.responseType = "arraybuffer" gesetzt werden kann, offensichtlich ist das mit jQuery gar nicht möglich oder habe ich da was übersehen?

Meine endlosen Recherchen führten mich u.a. auch hierhin was mir aber auch nicht wirklich weiterhilft außer der Kurzweil, einer Diskussion folgen zu wollen, "wo in der jQery-Lib da was geändert werden könnte".

Kurzum: Gibts evntl. eine neuere Version jQuery was dieses Feature ermöglicht?

Bitte mal um Hinweise.

Horst Dankwart

  1. Hallo,

    Es ist jedoch erforderlich, dass ein xhr.responseType = "arraybuffer" gesetzt werden kann, offensichtlich ist das mit jQuery gar nicht möglich

    Doch, das ist kein Problem. Das Problem ist, dass jQuery responseText bzw. responseXML erwartet, was in diesem Fall nicht gesetzt ist bzw. anscheinend eine Exception liefert.

    hierhin was mir aber auch nicht wirklich weiterhilft außer der Kurzweil, einer Diskussion folgen zu wollen, "wo in der jQery-Lib da was geändert werden könnte".

    Dort findest du doch einen schnellen Fix sowie einen Pull Request.

    Gibts evntl. eine neuere Version jQuery was dieses Feature ermöglicht?

    Nein, sonst wäre der Bug geschlossen und der Pull Request akzeptiert.

    Ergo: Mach es ohne jQuery, wenn du es unter Kontrolle haben willst und nicht irgendwelche Patches anwenden willst.

    Mathias

    1. hi danke Dir!

      Gibts evntl. eine neuere Version jQuery was dieses Feature ermöglicht?

      Nein, sonst wäre der Bug geschlossen und der Pull Request akzeptiert.

      Oh Oh :)

      Ergo: Mach es ohne jQuery, wenn du es unter Kontrolle haben willst und nicht irgendwelche Patches anwenden willst.

      Klar patchen wir nicht an irgendwelchen professionellen Libraries rum, da machen wir das doch lieber gleich selber ;)

      Wie lockt der Profi ein Huhn? Mit Put, put, put...

      Horst (Legehennenexperte)

      1. Hallo,

        Klar patchen wir nicht an irgendwelchen professionellen Libraries rum, da machen wir das doch lieber gleich selber ;)

        Ja. Eine einfache, für einen speziellen Anwendungsbereich optimierte Lösung ist im Zweifelsfall besser als eine komplexe externe Bibliothek mehr schlecht als recht zu patchen.

        XMLHttpRequest ist in neueren Browser kein großes Problem mehr. jQuery schleppt da einfach Features mit sich herum, die man nur selten braucht und die im konkreten Falle die Unterstützung von Binär-Antworten erschweren.

        Mathias

        1. Hehe, wir kommen uns näher :)

          Ne, worauf ich hinauswill, ist dieser Umstand:

          Serverseitig wird 'äöüß' gesendet, wobei es völlig egal ist, welcher Response-Header dem vorangeht. Der Ordnung halber und fürs bessere Verständnis werden wir jedoch entweder ein

          Content-Type: text/plain
              oder ein
          Content-Type: application/octet-stream

          als Response-Header senden. Das ändert nichts an der Tatsache, dass in beiden Fällen Rohdaten (Bytes) durchs Netz schwirren, auch wenn das Protokoll Hyper-Text... heißt.

          Allein mit dem xhr.responseType deklarieren wir JS-seitig, um was es sich handeln soll, wenn xhr die Response entgegennimmt. Sollte ein Type-Cast erforderlich sein, können wir das aber auch später machen, siehe StringView (stringview.js). Warum also nicht gleich die Response als ArrayBuffer interpretieren, es kommt so oder so eine Binary.

          MfG