pl: Variable von PHP nach JAVASCRIPT übergeben

Beitrag lesen

Es würde besonders ein Beispiel interessieren, das html erzeugt.

Das sieht genauso aus wie das Textbeispiel. HTML ist auch nur Text, nur daß da HTML Elements runstrum sind:

<ul>
   %loop_items%
     <li> %item%, %descr%, %author% </li>
   %endloop%
</ul>

Tabellen analog. Und neben literalen Platzhaltern und Loops sollte jede TE auch boolsche Ausdrücke kennen, z.B.

%if_browse%
  <p> Ein bischen aufbrowsender Text.. </p>
%else%
  <p> Hier gibt es keine Browse! </p>
%endif%

Und selbstverständlich dürfen boolsche Platzhalter auch in Loops Verwendung finden. Wie auch dazu dienen, bestimmte Bereiche in einem Template vorzuhalten. Es ist jedoch zweckmäßig, eine ganze Response vom typ text/html in mehrere Templates aufzuteilen. Z.B. head, body, footer. Aber das kann letztlich jeder machen wie er es für richtig hält.

printf(), sprintf() sind ja im Grunde auch TE's. Nur daß sie halt nicht so komfortabel sind. Perl ermöglicht darüber hinaus per DATA Token eine saubere Trennung von Code und Template wobei beides zusammen in einer Datei vereint ist.

In Methoden die in eine dedizierte Datei ausgelagert wurden, steht der DATA Token ebenfals zur Verfügung.

Untenstehend noch das Beispiel zum konkreten Fall:

sub control{
   my $self = shift;
   if( $self->param('js') ){
      local $/ = undef;
      my $tt = <DATA>;
      $self->{CONTENT} = $self->render($tt, { 
         localtime => localtime(), 
         remote_addr => $ENV{REMOTE_ADDR} 
      }); 
      $self->header(
         'Content-Type' => 'text/javascript',
         'Last-Modified' => ..,
         'Expires'      => ..
      );
   }
}

__DATA__
/* JavaScript zum Nachladen */
var localtime   = '%localtime%';
var remote_addr = '%remote_addr%';

Per <script src="%url%?js=1"></script> wird das dann eingebunden womit für JS im Browser serverseitige Variablen verfügbar gemacht werden können.

MfG

0 92

Variable von PHP nach JAVASCRIPT übergeben

Marti
  • javascript
  • php
  1. 1
    beatovich
    1. 2
      Matti Mäkitalo
      1. 0
        beatovich
        1. -1

          Arrays und Hashes (Perl oder PHP) in <script> als JS-Object erzeugen

          beatovich
          • javascript
          • perl
          • php
          1. 0
            pl
            • javascript
            • perl
            1. 0
              beatovich
              1. 0
                pl
                1. 0
                  Rolf B
                  1. 0
                    pl
                    1. 0
                      Rolf B
                      1. 0
                        pl
                        1. 0
                          Rolf B
                          1. 0
                            pl
                            1. 0
                              Rolf B
                  2. 0

                    Rolf B's Lösung

                    pl
                    1. 2
                      Rolf B
                      1. 0
                        pl
                        1. 0
                          beatovich
                        2. 0
                          Rolf B
                          1. 0
                            beatovich
                            1. 1
                              Matti Mäkitalo
                              1. 0
                                beatovich
                                1. 1
                                  Matti Mäkitalo
                                  1. 0
                                    beatovich
                                    1. 1
                                      Matti Mäkitalo
                                      1. 0
                                        Matti Mäkitalo
                                      2. 0
                                        beatovich
                                        1. 0
                                          1unitedpower
                                          1. 0
                                            dedlfix
                                            1. 0
                                              1unitedpower
                                          2. 0
                                            beatovich
                                            1. 0
                                              beatovich
                                              1. 0
                                                beatovich
                                                1. 0
                                                  1unitedpower
                                                  1. 0
                                                    beatovich
                                                2. 0
                                                  pl
                                                  1. 0
                                                    beatovich
                                                    1. 0
                                                      pl
                              2. 0
                                Rolf B
                                1. 0
                                  dedlfix
                                  1. 0
                                    Rolf B
                                2. 0
                                  pl
                                  1. 0
                                    1unitedpower
                                    1. 0
                                      pl
                          2. 0
                            pl
                            1. 0
                              beatovich
                              1. 0
                                pl
                                1. 0
                                  beatovich
                                  1. 0
                                    pl
                                    1. 0
                                      beatovich
                                      1. 0
                                        pl
                                        1. 0
                                          1unitedpower
                                          1. 0
                                            Rolf B
                                            1. 0
                                              pl
        2. 2
          Matti Mäkitalo
    2. 0
      pl
      1. 0
        dedlfix
        1. 0
          pl
          1. 0
            dedlfix
            1. 0
              pl
              • sonstiges
      2. 0
        beatovich
        1. 0
          pl
  2. 0
    TS
  3. 0
    pl
    1. 1
      klawischnigg
      1. 0
        pl
        1. 0
          Rolf B
          1. 0
            pl
            1. 0
              Rolf B
              1. 0
                pl
                1. 0
                  pl
                  • javascript
                  • perl
                2. 0
                  Rolf B
                  1. 0

                    JSONP, CORS

                    pl
            2. 0
              dedlfix
              1. 0
                beatovich
                1. 0
                  pl
                  1. 0
                    beatovich
                    1. 0
                      pl
                      1. 0
                        beatovich
                        1. 0
                          pl
                          1. 0
                            beatovich
                            1. 0
                              pl
                              • perl
        2. 0
          klawischnigg
          1. 0
            pl
  4. 0
    Auge
  5. 0
    klawischnigg
    1. 0
      beatovich
    2. 0
      pl
    3. 0
      dedlfix
  6. 0
    pl
    • javascript
    • programmiertechnik
    1. 0
      pl