pl: Variable von PHP nach JAVASCRIPT übergeben

Beitrag lesen

PS:

Natürlich wird man nicht sämtlichen JS Code über Templates generieren. Aber es gibt Lösungen die sind gar nicht anders möglich. Ich habe ja nicht umsonst das Beispiel mit dem %url% Platzhalter gebracht: Während man in Formularen das action-Attribute einfach weglassen kann, ist das nämlich in Sachen XHR und fetchAPI nicht möglich, da muss ein URL notiert sein an welchen der Request gesendet wird.

Also wird bei mir für diesen Platzhalter grundsätzlich dieser Wert gesetzt und wird zu einer Variablen, die von JS genutzt werden kann. D.h., im Effekt ist es es gar keine Variable weil, bis auf wenige Ausnahmen, sämtliche AJAX//Fetch Requests die eine Seite feuern soll, stets auf sich selbst gerichtet sind. Was daran sollte denn da einen Test erschweren? Das Gegenteil ist der Fall!

Und auch hier würde die Ausnahme dazu führen daß ein Platzhalter gesetzt wird. Beispiel Konfiguration:

[/sunrise.html]
xhr_url = http://example.org/sunrise

Beim Bau der Response wird der entsprechende Platzhalter in den STASH gesetzt:

# Interface Methode
sub init{
   my $self = shift;
   $self->{STASH}{xhr_url} = $self->eav('xhr_url');
}

Und schließlich zum Rendern sowohl STASH (Datenversteck) als auch Template übergeben:

$self->render($self->{BODY}, $self->{STASH});

So daß in der ausgelieferten Response dann das Template

xhr.open("GET","%xhr_url%?"+params);

zu

xhr.open("GET","http://example.org/sunrise?"+params);

gerendert wird. Das Bereitstellen von Variablen aus der Konfiguration heraus über Platzhalter in das Template ist also eine ganz normale Sache und sozusagen Alltag im Geschäftsleben eines Framework.

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