Du hast deinen AdBlocker an?

Es wäre ein Traum, wenn du ihn für t3n.de deaktivierst. Wir zeigen dir gerne, wie das geht. Und natürlich erklären wir dir auch, warum uns das so wichtig ist. Digitales High-five, deine t3n-Redaktion

t3n 9

Perl-Webanwendungen mit Ajax: Ajax bringt Glanz auf Perlen

Auf einer dynamischen Website darf Ajax nicht fehlen. Auch in Perl, dem Urgestein der Websprachen, gibt es Webanwendungen mit Ajax-Funktionalitäten. Auf CPAN, dem Online-Archiv für Perl-Module, Anwendungen und Dokumentationen, findet sich unter Tausenden von Modulen auch einiges für den Webentwickler.

Seit ein paar altbekannte Technologien zusammengefasst und unter dem Schlagwort „Ajax“ verbreitet werden, ist ein wahrer Hype entstanden. Spätestens mit Google Maps ist der Durchbruch vollends gelungen. Kaum eine große Website, egal ob Flickr oder Xing, verzichtet auf die Möglichkeit, Daten vom Server nachzuladen, ohne die komplette Seite neu laden zu müssen.

Viele dynamische Websites werden mit Perl realisiert – vom einfachen Formmailer bis hin zu del.icio.us oder imdb.com. Auch auf diesen Seiten kommen Ajax-Technologien zum Einsatz. Auf CPAN [1] finden Perl-Programmierer Unterstützung für die Implementierung von Ajax-Funktionen.

CGI::Ajax

Das Modul CGI::Ajax übernimmt wichtige Aufgaben: Es sorgt dafür, dass JavaScript-Funktionen auf Funktionen im Perl-Skript gemappt werden.

PERL

my $ajax = CGI::Ajax->new( JSFunktion => \&perl_function);

Listing 1

Der Programmierer muss dazu keine Zeile JavaScript schreiben und sich auch nicht um die Ausgabe des HTML-Codes kümmern. Die HTML-Ausgabe wird wie gewohnt generiert und dann einem Objekt von CGI::Ajax übergeben.

Nur für den Auslöser der JS-Funktionen muss ein JavaScript erstellt werden. Im Template sollte ein Link etwa so aussehen:

HTML

<a xhref="..." onclick="JSFunktion(['action__delete_task','id__1'],['task1']);">...</a>

Listing 2

Ein Klick auf diesen Link ruft die JavaScript-Funktion „JSFunktion“ auf. Der Funktion wird eine Liste mit Parametern übergeben, die als Parameter des GET-Requests an den Server weitergegeben werden. Das „__“ trennt den Parameter-Namen von seinem Wert. In diesem Fall wird zum Beispiel „action=delete_task&id=1“ an den Server übermittelt. So können beliebige Parameter übergeben werden. Die zweite Liste enthält die IDs von Elementen, die durch die Antwort des Servers modifiziert werden sollen. In diesem Fall gibt es ein <div> mit dem Namen „task1“, das die Antwort des Servers enthalten soll.

Finde einen Job, den du liebst

Bitte beachte unsere Community-Richtlinien

Schreib den ersten Kommentar!

Du musst angemeldet sein, um einen Kommentar schreiben zu können.

Jetzt anmelden