alex: Variablenübergabe

Hi Ihrs!

Ich hab ein javascript, welches ein paar variablen enthält, nun möchte ich diese aber auch in perl verarbeiten, doch ich weiß nicht wie ich das machen soll.
An dem javascript sollte wenn möglich nichts verändert werden, also bitte kein vorschlag mit formularen...

thanx

  1. hi!

    Ich hab ein javascript, welches ein paar variablen enthält, nun
    möchte ich diese aber auch in perl verarbeiten, doch ich weiß
    nicht wie ich das machen soll.
    An dem javascript sollte wenn möglich nichts verändert werden,
    also bitte kein vorschlag mit formularen...

    Du hast wohl noch nicht so ganz die Beziehung zwischen JavaScript und
    Perl verstanden: es gibt keine.

    Um ein Perl-CGI-Skript laufen zu lassen und ihm Werte zu übergeben,
    musst du auf jeden Fall eine neue Seite - nämlich das CGI-Skript
    inkl. Parameter - vom Server anfordern. Und ein Perl-Skript kann
    nicht mit einem JavaScript kommunizieren, sondern es lediglich in
    eine HTML-Seite schreiben.

    Du suchst also eine Möglichkeit, ein Perl-Skript aus einem JavaScript
    aufzurufen: "location.href" ist vermutlich das, was du suchst. Damit
    kannst du den Browser auf eine neue Seite umleiten. Dabei musst du
    die zu übergebenden Werte in der gewohnten Form anhängen:
      location.href="/cgi-bin/script.pl?param1=wert1&param2=wert2";

    Siehe auch die betreffenden Stellen in SELFHTML.

    bye, Frank!

    1. location.href="/cgi-bin/script.pl?param1=wert1¶m2=wert2";

      Das problem ist nur, daß es sich um ein Cookie Javascript handelt, da kann ich nicht so ohne weiteres wegspringen.

      Gibt es denn mit Perl auch die Möglichkeit Cookies zu managen? Ich bin leider nicht an der Perl Quelle wie du, vielleicht hast du ja ein paar links

      1. Hi,

        Gibt es denn mit Perl auch die Möglichkeit Cookies zu managen? Ich bin leider nicht an der Perl Quelle wie du, vielleicht hast du ja ein paar links

        erstmal kann ich Dir nur das Perl-Kochbuch ans Herz legen, das Dir bei Deinen Problemen mit Perl oft weiterhelfen kann. Ansonsten haette ich noch einen Link:

        http://search.cpan.org/search?mode=module&query=cookie

        hier findest Du einige Perlmodule zum Umgang mit Http-Cookies.

        Viele Gruesse
        speedy

      2. Hallo,

        location.href="/cgi-bin/script.pl?param1=wert1¶m2=wert2";

        Das problem ist nur, daß es sich um ein Cookie Javascript handelt, da kann ich nicht so ohne weiteres wegspringen.

        Grunsätzlich sollte es hier keine Probleme geben, da Cookies eigentlich vom Browser verwaltet werden. D.h. Wenn erst einmal ein Cookie gesetzt wurde, dann ist für den entsprechenden Server zumindest solange verfügbar, solange der Browser nicht geschlossen wird, oder das Cookie ausdrücklich gelöscht wird.

        Egal welche Seite Du vom Server aufrufst, das Cookie (oder auch die Cookies) werden immer mitgeschickt. Auch wenn Du später mit einem Javascript das Cookie auswertest und gegebenenfalls modifizierst, mit einem Aufruf von Perl-Scripts gibts sicherlich keine Probleme.

        Wohlgemerkt, solange Du Dich auch sauber an die Cookie-Spielregeln hälts. Also Cookie im Javascript _zuerst_ überprüfen und dann entsprechend Reagieren, und nicht den Status in einer Variablen halten (was ja am Sinn von Cookies vorbeigehen würde).

        Gibt es denn mit Perl auch die Möglichkeit Cookies zu managen?

        Ja, mit CGI.pm z.B. Dabei geht mit einem solchen Modul wesentlich mehr, als es mit JavaScript möglich ist. Domain-Weite Cookies, expire-Datum usw. sind dann kein Problem.

        Grüße
          Klaus

        1. Hallo Klaus!

          Ja, mit CGI.pm z.B. Dabei geht mit einem solchen Modul wesentlich mehr, als es mit JavaScript möglich ist. Domain-Weite Cookies, expire-Datum usw. sind dann kein Problem.

          Wieso sollte das mit JavaScript nicht gehen? Geht (laut Doku zumindest) ganz genau so wie in Perl.

          So long

          1. Hallo Calocybe,

            Wieso sollte das mit JavaScript nicht gehen? Geht (laut Doku zumindest) ganz genau so wie in Perl.

            weiß ich nach genauerem hinschaun auch nicht :-)

            Grüße
              Klaus