Video, Grafiken und Texte mit Ajax zum Browser übertragen

Ein einziger Request genügt zum Aufbau einer Seite mit multimedialen Inhalten im Browser

Übertragen wird eine MultiMedia-Datei, diese enthält nach dem Deserialisieren der Binärsequenz eine zyklische Struktur. Diese Struktur ist ein Array mit Hash-Referenzen, wobei jeder Hash-Referenz alle Attribute eines im Browserfenster bzw. Dokument zu erstellenden Abschnittes beinhaltet.

In der hier vorliegende DEMO überträgt die Response für den asynchronen Request Binärdaten für die Images. Übertragen wird nur eine einzige Datei, welche sowohl Bilddateien als auch Texte speichert. Auch diese Datei ist eine Binärsequenz und nicht etwa XML, JSON o.ä.

Der gesamte Inhalt untenstehend wird also per Ajax geladen, hier zu testen: Klick!

Serialize, XML, JSON und sinnvolle Datenstrukturen

Vergleichen wir die Anzahl an CODE-Zeilen für Perl und JavaScript: Zum Serialisieren zyklischer Strukturen, die binary safe sein müssen, ist JavaScript aufwändiger. Das liegt daran, dass Binärdaten in JavaScript einen speziellen Datentyp erfordern, der erst in den letzten Jahren ins Leben gerufen wurde: ArrayBuffer.

Perl hingegen arbeitet seit eh und je byte-orientiert und kennt keine Datentypen. Von daher ist ein Serialize-Algorithmus auch einfacher umzusetzen. Logischerweise müssen die Daten client- wie serverseitig mit demselben Algorithmus serialisiert werden.

Die Datenstruktur nun, ist ein Array. Jedes Array-Element enthält ein Datenobjekt und Letzteres hat Eigenschaften mit dazugehörigen Werten. Diese Eigenschaften sind: h2 (Überschrift zum Bild), p (Beschreibung zum Bild) und img (binäre Bilddaten). So ist diese Datenstruktur zyklisch und mit den sich wiederholenden Attributen wird anhand der Ajax-Response die Ausgabeseite erzeugt.


Anbieter: nmq​rstx-18­@yahoo.de, die Seite verwendet funktionsbedingt einen Session-Cookie und ist Bestandteil meines nach modernen Aspekten in Perl entwickelten Frameworks.