Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zmienna z js do php
Forum PHP.pl > Forum > XML, AJAX > AJAX
KamCiu
Nie będę owijał w bawełnę, otóż mam plik .js i tam zmienną rate, chciałbym po zakończeniu funkcji automatycznie przesłać ją do innego pliku .php jako zmienną.
Bardzo proszę o pomoc.
Pozdrawiam.
gorden
prześlij ją jako post
w jquery wyglądałoby to tak:
[JAVASCRIPT] pobierz, plaintext
  1. $.post('plik.php', {
  2. 'rate': rate
  3. });
[JAVASCRIPT] pobierz, plaintext


i w php już masz $_POST['rate']
KamCiu
A teraz , jak zrobić odwrotnie a mianowicie zmienną z php do pliku .js?
gorden
do $.post dodajesz jeszcze jeden argument-funkcję
[JAVASCRIPT] pobierz, plaintext
  1. , function(data) {});
[JAVASCRIPT] pobierz, plaintext
gdzie data to jest to, co wyświetlił wzamian za requesta serwer. czyli echo $_POST['rate'] da do zmiennej data wartość zmiennej rate
KamCiu
Może bym to jakoś zlepił, lecz potrzebuje inne dane przesłać do innego pliku, więc muszę od nowa pomyśleć jak przesłać pomiędzy danymi z php do js.
Próbowałem z tym post ale jakoś nie chodzi.
amii
Cytat(KamCiu @ 17.12.2011, 16:29:48 ) *
A teraz , jak zrobić odwrotnie a mianowicie zmienną z php do pliku .js?


Tak możesz zrobić jesli plik js jest umieszczony w tym samym drzewie DOM co powstaje z pliki php, jeśli nie to pozostaje Ci poprzedni sposób
  1. <input type="hidden" id="zmienna" value="<?php echo $zmienna_php; ?>" />


[JAVASCRIPT] pobierz, plaintext
  1. var zmienna = document.getElementById('zmienna');
[JAVASCRIPT] pobierz, plaintext
KamCiu
Zrobiłem w php:

  1. <form method="post" id="searchForm">
  2. <input type="hidden" id="a" value="x"/>
  3. <input type="hidden" id="b" value="y"/>
  4. <input type="hidden" id="c" value="z"/>
  5.  
  6. <input type="submit" value="Search" />
  7. </form>


i w osobnym pliku js:

  1. var aa = document.getElementById('a');
  2. var bb = document.getElementById('b');
  3. var cc = document.getElementById('c');

I nic, jeżeli nie o to chodziło to proszę o poprawienie mnie :<
amii
Plik js musi być załadowany w nagłówku. Ale domyślam się, że nie o to Ci chodzi.
Poczytaj jak przesyłać i odbierać dane z plików:
http://api.jquery.com/jQuery.post/

Najprościej to mógłbym tak naszkicować:
[JAVASCRIPT] pobierz, plaintext
  1. $.post('plik.php', function(data) {
  2. var content = data;
  3. });
[JAVASCRIPT] pobierz, plaintext


plik.php
  1. echo $zmienna_php;
KamCiu
Właśnie do tego już doszedłem ale i tak dziękuje.
Chodzi mi teraz o to aby przesłać zmienną $lolo z pliku lolo2.php do osobnego pliku lolo3.js.
gorden
js:
[JAVASCRIPT] pobierz, plaintext
  1. $.post('lolo2.php', {
  2. dawaj: 'zmienna'
  3. }, function(data) {
  4. alert(data);
  5. });
[JAVASCRIPT] pobierz, plaintext



lolo2.php:
  1. if($_POST['dawaj'] == 'zmienna') echo $lolo;
KamCiu
Czym u Ciebie jest zmienna $lolo i to znowu przesyła z js do php.
gorden
czym u Ciebie jest zmienna data, która odbiera wyświetloną treść z lolo2.php, którą jest zmienna $lolo
KamCiu
Pobieram z mysqla jakiś album muzyczny, chce w formularzu przesłać te dane do osobnego pliku js w i wczytać w takiej formie:


  1. var Songs = [
  2. {zespol:'$res1', utwor:'$res2'',okladka:'$res3''}
  3. ];


Coś takiego.
gorden
no to taki przykład, jak podałem. tylko zamiast echo $lolo to
  1. echo $res1.'|'.$res2.'|'.$res3


js analogicznie:
[JAVASCRIPT] pobierz, plaintext
  1. , function(data) {
  2. data = data.split('|');
  3. var Songs = [
  4. {zespol:data[0],utwor:data[1],okladka:data[2]}
  5. ];
  6. });
[JAVASCRIPT] pobierz, plaintext
KamCiu
Czyli tak , mamy czysty plik php i robimy tylko zapytanie i pobieramy dane
  1. $load = zapytanie_sql($res1,$res2,$res3);


Cytat(gorden @ 17.12.2011, 21:09:41 ) *
  1. echo $res1.'|'.$res2.'|'.$res3

I jak wysłać te dane do js??

A w js jak ma wyglądać cała ta funkcja która odczytuje to??

[JAVASCRIPT] pobierz, plaintext
  1. , function(data) {
  2. data = data.split('|');
  3. var Songs = [
  4. {zespol:data[0],utwor:data[1],okladka:data[2]}
  5. ];
  6. });
[JAVASCRIPT] pobierz, plaintext

gorden
hmm... zadałeś pytanie i zacytowałeś odpowiedź. gotowe rozwiązanie już Ci dałem, jak działa to "przekazanie" również zostało opisane. jedyne co pozostało do zrobienia to podstawienie danych z mojego ostatniego postu do gotowca, którego dałem jeszcze wyżej. zresztą, na takim banał nie powinienem odpowiadać wejdź w manual jquery i masz tam kilka przykładów.
KamCiu
Dobra tak czy siak i tak już bardzo dziękuje.
Pozdrawiam.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.