RAID-Technologie verspricht höhere Performance und mehr Sicherheit beim permanenten Speichern von Daten. Die ADMIN-Redaktion gibt einen Überblick über ... (mehr)

CSV parsen

Mit Funktion »parser()« im Listing 3 zeigt einen möglichen Parser für CSV-Datensätze. Er ermittelt zunächst zeilenweise die Datensätze, indem er im Text nach Zeilenumbrüchen sucht und an den Fundstellen den Text mit der Javascript-Funktion »split()« in Teilzeichenketten aufspaltet. Innerhalb der Teilzeichenketten sucht die Funktion nach dem Trennzeichen, in diesem Fall dem Semikolon, und teilt wiederum mit »split()« die einzelnen Datensätze auf. Diese speichert die Funktion anschließend in dem Array »features« und führt vorher gegebenenfalls eine geometrische Transformation durch. Ob man die Daten transformieren muss, hängt davon ab, in welchem Koordinatensystem man sich bewegt. Der beschriebene Parser wird für die folgenden beiden Funktionen benötigt. Wie eingangs erwähnt, stellt die Openlayers-Bibliothek Objekte bereit, um externe CGI-Skripte aufzurufen, zum Beispiel »OpenLayers.Request.POST« und »OpenLayers.Request.GET« . Der Konstruktor beider Objekte erwartet in der Attributdefinition »url« eine URL. Die Angabe darf entweder mit Domainnamen oder ohne erfolgen. Parameter für das aufzurufende Skript sollten nicht im URL-String übergeben werden. Dafür ist das Attribut »data« bei »OpenLayers.Request.POST« zuständig, während bei »OpenLayers.Request.GET« das Attribut »params« die Übergabeparameter aufnimmt.

Listing 3

Parsen des Rückgabetextes

 

Die Übergabeparameter sind eine Kette aus Definitionen von Parametern und Werten in der Form: »{param_1:wert_1, ..., param_n:wert_n}« . Die Funktion »OpenLayers.Util.getParameterString()« wandelt sie in eine W3C-konforme Zeichenkette um. Das Ergbnis der Umwandlung ist eine Zeichenkette der Form »param_1=wert1&...&param_n=wert_n« . Diese hängt die Bibliothek bei »OpenLayers.Request.GET« mit einem vorangestelltem Fragezeichen an die URL. Bei »OpenLayers.Request.POST« übergibt es sie im Rahmen des HTTP-Requests an den Server.

MIME-Type setzen

Sehr wichtig und zwingend ist die Angabe des sogenannten Headers, der beschreibt, um welchen MIME-Type es sich handelt. Andernfalls erhält man keinerlei Daten zurück. Gleiches gilt für die sogenannte Callback-Funktion. Diese Funktion wird angesprungen, sobald die im Attribut »url« definierte Seite mit oder ohne Erfolg abgearbeitet wurde. Dazu später mehr.

In Listing 4 ist ein Beispiel für »OpenLayers.Request.POST« zu sehen. Die Funktion »map_layer_request_post()« definiert zunächst einen Layer, der alle POIs zusammenfasst und darstellt. Anschließend wird der Konstruktor von »OpenLayers.Request.POST« mit den Attributen für »url« , »header« und »data« aufgerufen. Die Übergabeparameter wandelt »OpenLayers.Util.getParameterString« um. Aus »{land: "DE", zeitschrift: "FreeX"}« wird dann »land=DE&zeitschrift=FreeX« . Das Ampersand-Zeichen wird automatisch in das W3C-konforme »&« umgewandelt.

Listing 4

Layer mit Request.POST

 

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

Eigene Registry für Docker-Images

Wer selber Docker-Images herstellt, braucht auch eine eigene Registry. Diese gibt es ebenfalls als Docker-Image, aber nur mit eingeschränkter Funktionalität. Mit einem Auth-Server wird daraus ein brauchbares Repository für Images. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2022