Entwicklung & Design

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.

Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Schreib den ersten Kommentar!

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.