Mit action script Rückgabewerte von Perl-Script verarbeiten
Thomas Mirke
- perl
0 Cheatah0 Thomas Mirke0 Cheatah
Hallo!
aus einem action script (Macromedia Flash) wird ein wunderschön gestaltetes Formular versendet:
loadVariablesNum("../cgi-bin/simplescript.pl",0,"POST");
Wer es nicht weiß: Der Wert "0" verhindert eine Browserausgabe, so dass das Perlscript nichts direkt am Bildschirm ausgibt. Wollte ich auch erst nicht glauben, ist aber so und geht auch.
Stattdessen sollen im Perlscript durch Ausgabe auf die Standardausgabe dem Actionscript die Rückgabewerte übergeben werden. In Perl steht dann nur ungefähr das:
print "Content-type:text/html\n\n";
print "&status=Hat geklappt&";
print "Name=Thomas&";
usw.
Soweit die Theorie. In der Praxis klappt die Rückgabe leider nicht und ich finde widersprüchliche Angaben zur Syntax der Ausgabe durch Perl mit "print" (die alle nicht klappen).
Hat jemand schon mal erfolgreich das Gespann Macromedia Flash/Action Script und Perl zum Laufen gebracht? Was muss noch gemacht/beachtet werden, um die Werte einzulesen?
Schönen Dank für Tipps,
Thomas
Hi,
[...] das Perlscript nichts direkt am Bildschirm ausgibt. Wollte ich auch erst nicht glauben, ist aber so und geht auch.
ein Script im HTTP-Kontext gibt niemals etwas an den Bildschirm aus, sondern nur an den aufrufenden Client. Wenn dieser ein Flash ist, kann es selbst entscheiden, ob es die zurückgegebenen Daten für irgendwas verwendet oder nicht.
print "Content-type:text/html\n\n";
print "&status=Hat geklappt&";
print "Name=Thomas&";
Abgesehen davon, dass HTTP-Header auf \r\n beendet werden müssen, nicht auf \n, erhält der aufrufende Client somit den als text/html markierten Inhalt "&status=Hat geklappt&Name=Thomas&".
In der Praxis klappt die Rückgabe leider nicht
Das hast Du auf welche Weise ermittelt?
und ich finde widersprüchliche Angaben zur Syntax der Ausgabe durch Perl mit "print" (die alle nicht klappen).
Was für widersprüngliche Angaben hast Du denn wo gefunden, und was bedeutet "klappen nicht"?
Cheatah
Das hast Du auf welche Weise ermittelt?
Die entsprechenden Action Script Variablen - im Beispiel "Name" und "status" bleiben "undefined".
Was für widersprüngliche Angaben hast Du denn wo gefunden, und was bedeutet "klappen nicht"?
Das bedeutet, dass s.o. bei allen Varianten die Variablen "undefined" bleiben. Das Script selbst arbeitet einwandfrei.
Ich hatte eigentlich gehofft, dass jemand schon ein wenig Erfahrung mit der Datenrückgabe an Flash hat und mir einen Tipp geben könnte, mit dem es funktioniert.
Es nützt niemandem, sich über die Begrifflichkeit der Formulierung "klappt nicht" auszubreiten.
Hi,
Die entsprechenden Action Script Variablen - im Beispiel "Name" und "status" bleiben "undefined".
ich nehme an, niemand hat im Response Request-Werte erwartet. Analysiere die Rückgabe des CGI-Scripts also manuell.
Es nützt niemandem, sich über die Begrifflichkeit der Formulierung "klappt nicht" auszubreiten.
Es nützt auch niemandem, ein Problem zu posten, ohne es zu beschreiben. Solche Formulierungen wie "funktioniert nicht" oder "klappt nicht" sind exakt so hilfreich wie ein unbeschriebenes Blatt.
Cheatah