Zmienne PHP z rodzimego dokumentu w ajax.

0

Mam taki problemik, otóż w moim pliku ajax znajduje się formularz. Chciałbym, aby ten ajax mógł skorzystać ze zmiennych php, które są w dokumencie wywołującym ajax.php. Czyli wygląda to np tak:

"plik.php" ma scrypt javascript który wywołuje ajax.php. Chciałbym aby zmienne z "plik.php" śmigały w "ajax.php".

Jak to zrobić? Czy w ogóle się da?

0

co to znaczy "wywołuje", bo to można rozumieć na wiele sposobów

0

Wszytskie dane ".data"są pobierane z formularza.

$('.coment').on("click",".clickme", function() {
	
var id = $(this).data('id');
   var login = $(this).data('login');
       var wpisid = $(this).data('wpisid');
      
   
	 $.ajax(
				  {			  
				      url: "ajax.php", 	
				      success: function(data),
				       
				      { 
							$("a[data-id='" + id + "']").parents(".com").after(data);
					
					 		$('.inputt2').val("@"+login+":");
					 		$('.inputid').val(""+wpisid+"");
							$('.button').attr('data-id', ""+id+"");
						}
				  }
			);

    var nextForm = $(this).next(".forme");
    var show = !nextForm.is(":visible");

    $('.forme').remove();


});

No i w ajaxie mam również prosty formularz. Który mi się wyświetla. Problem polega konkretnie na tym że nie mogę tam korzystać ze zmiennych z których korzystam w rodzimym dokumencie.

0

chodzi Ci o GET/POST czy oba?

0

@tymek42 unikaj pisania komentarzy, jeżeli piszesz na temat. dwa razy to pociągnąłem, ale staje się niewygodne.

nie możesz zwykłego

echo "<input type=hidden value='".htmlspecialchars($nazwa_loginu, ENT_QUOTES).'"/>";

zrobić? jeżeli nie to dlaczego?

0

Musisz te dane jakoś przekazać, np. GETem. Automagicznie się nie prześlą.

1

Dodawaj posty, nie komentarze;

tymek42 napisał(a)

No właśnie o to mi chodzi. :) Nie mam za wiele styczności z ajaxem i takie rzeczy są i obce. Czyli mam rozumieć że to normalny objaw. Czyli zmienne powinienem przekazać jakoś. Jakie są jeszcze sposoby? Getem to nie za bardzo bo linku nie mogę zmienić w czasie rzeczywistym. Czytałem o json, ale nie wiem jak to zrobić jeszcze.

JSON to sposób serializowania, nie ma nic wspólnego ze sposobem przesyłania (GET/POST).

var data = {zmienna1: "<?=$zmienna1?>"}; // na przykład; zależy od tego, jak ten skrypt includujesz

$.ajax({
 /* ... */
 data: data,
 /* ... */
});

I potem odbierasz w skrypcie PHP za pomocą:

$zmienna1 = $_POST['zmienna1'];
1

po primo odpowiadajw postach, a nie w komentarzach, latwiej sie czyta i zachowuje ciaglosc dyskusji.

co do twojego komentarza to nie musisz zmieniac adresu tego co masz w przegladarce, tylko do wywolania w ajaxie dodaj te dane ktore potrzebujesz jako parametry. przy ladowaniu plik.php przypisz te zmienne do ukrytego inputa, ew. bezposrednuio do zmiennych w tablicy czy w url. i potem one pojda getem jako paramtery do twojego ajax.php w tle

0

One są ukryte w inpucie : ) ""i potem one pojda getem jako paramtery do twojego ajax.php w tle" jak pójdą? : )

0

No więc tak zrobiłem tak jak powiedzieliście czyli wysłałem te zmienne GETEM. Ale coś jest nie tak bo pobiera mi dziad np. coś takiego
<?=$zmienna1?> zamiast ta zmienną ;D
Wiecie co jest nie tak? Próbowałem pobrać te zmienne i coś, albo ich nie widzi, albo nie wiem już sam.

1

bo parser nie przetwarza tego na wartosc. masz to w pliku interpretowanym .php czy w jakims .js???

ODPOWIEDZ DO KOMENTARZA:

poniewaz chcesz ta zmienna wstawic w pliku js ktory nie jest przetwarzany przez php to dlatego jest jak jest.

stworz ze swojego kodu funkcje z twoja zmienna jako parametrem i wywoluj ja w pliku php. ew. zadeklaruj zmienna globalna w pliku js , a w pliku php ja tylko ustawiaj. i wtedy pobieraj dane ze zmiennej globalnej.

1 użytkowników online, w tym zalogowanych: 0, gości: 1