Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][JS] Zmienna, Przsyłanie zmiennej
L2PL
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 19.08.2013

Ostrzeżenie: (0%)
-----


Witam, siedzę już dosyć długo nad pewnym małym drobiazgiem, który nie daje mi spać ;/ Otóż chciałbym przesłać zmienna(tablice) z php do js. Obecnie wykonuję to w ten sposób:

  1. <?php echo '<script type="text/javascript">zmienna = '.$zmienna.';</script>'; ?>


Natomiast tworzy to pewien malutki problem, iż zmienna jest widoczna od tego miejsca i skrypt w js musi znajdować się pod tym.

Buduję dosyć skomplikowany skrypt i zależy mi na tym, aby wszystko miało ręce i nogi. Dlatego nie chciałbym mieć strony przeplatanej na zmiane kodem js i php.

Dlatego moje ptyanie do was, czy istnieje jakiś sposób, aby zmienna była widoczna w całym skrypcie js?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


@xxdrago: Co za różnica czy zrobi to w czystym PHP czy korzystając z jakiegoś systemu szablonów? W jednym i drugim przypadku będzie miał paskudny miszmasz.

@L2PL: Potraktuj dane wygenerowane przez skrypt PHP jako konfigurację uruchomieniową skryptu, tj.:
1. Swój skrypt JS, możesz wydzielić do kompletnie osobnego pliku i odizolować go od reszty środowiska:
[JAVASCRIPT] pobierz, plaintext
  1. (function(window) {
  2. "use strict";
  3.  
  4. // ...
  5.  
  6. var mojSkrypt = function(ustawienia) {
  7. // ...
  8. };
  9.  
  10. window.mojSkrypt = mojSkrypt;
  11. })(window);
[JAVASCRIPT] pobierz, plaintext
2. Przed </BODY> dołączasz powyższy skrypt oraz uruchamiasz go:
[JAVASCRIPT] pobierz, plaintext
  1. <script src="..."></script>
  2. <script>
  3. window.mojSkrypt({
  4. "zmiennaA": "wartoscA",
  5. "zmiennaB": 123
  6. });
  7. </script>
[JAVASCRIPT] pobierz, plaintext
3. Oczywiście obiekt będący argumentem dla funkcji, który ma zawierać dane wygenerowane przez PHP możesz utworzyć przy pomocy json_encode.

Ten post edytował Crozin 19.08.2013, 02:02:09
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 10.10.2025 - 21:01