Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [AJAX]Ajax
Forum PHP.pl > Forum > Przedszkole
Salur
Witam, mam dziwny problem, w jednej funkcji przyjmuję zmienne (pełne) o tak: (funkcje sa w jednym pliku)

  1. var login = $("[name=login]").val();


i teraz w innej funkcji chce wysłać je do php:

  1. $.ajax({
  2.  
  3. method: "POST",
  4.  
  5. url: "pages/done_register.php",
  6.  
  7. data: { 'login': login, 'pass': pass, 'email': email, 'del_char': del_char},
  8.  
  9. success: alert("działa jak nalezy"),
  10.  
  11. });


Alert się wyswietla a w pliku done_register.php pustka. Jaka jest przyczyna?
trueblue
A przekazujesz z jednej funkcji do drugiej te zmienne (login, pass, itd.)?
Salur
Oj, przepraszam źle napisałem. Zmienne mam w tej samej funkcji.

  1. function zalozKonto() {
  2.  
  3. var login = $("[name=login]").val();
  4. var pass = $("[name=pass]").val();
  5.  
  6. // tu walidacji
  7.  
  8. if(statusWalidacji){
  9.  
  10. $.ajax({
  11.  
  12. method: "POST",
  13.  
  14. url: "pages/done_register.php",
  15.  
  16. data: { 'login': login, 'pass': pass, 'email': email, 'del_char': del_char},
  17.  
  18. success: alert("działa jak nalezy"),
  19.  
  20. });
  21.  
  22. }
  23.  
  24. }
  25.  


EDIT: konsola nic nie wywala.
trueblue
Jesteś pewien, że odbierasz je z $_POST w php?
Salur
Plik php
  1. if(!empty($_POST) && !empty($_POST['login']) && !empty($_POST['pass']) && !empty($_POST['email']) && !empty($_POST['del_char'])) {
  2.  
  3. $login = $_POST['login'];
  4.  
  5. // itd
  6.  
  7.  
  8. }
trueblue
Wydrukuj sobie przed tym warunkiem zawartość zmiennej $_POST i sprawdź w konsoli jaka jest odpowiedź tego żądania. Będziesz wiedział czy wartości docierają do php.
Czyli: var_dump($_POST)
a w konsoli: Network->dane żądanie->Response.
Salur
Hmm, w firebugu jest okej.

Zawartość:

  1. array(4) {
  2. ["login"]=>
  3. string(7) "Salurek"
  4. ["pass"]=>
  5. string(4) "test"
  6. ["email"]=>
  7. string(4) "test"
  8. ["del_char"]=>
  9. string(7) "1234556"
  10. }


W php o dziwo dalej:

  1. array(0) { }
trueblue
Ale na jakiej podstawie twierdzisz, że w php jest nadal pusta tablica?
Przecież odpowiedź żądania, to jest właśnie efekt wywołania tego pliku.
Salur
W takim razie czemu var_dump($_POST) zwraca pusta tablice?
trueblue
Kiedy, w jakim momencie, jak wywołujesz plik php, że twierdzisz, że zwraca on pustą tablicę?
Wklepujesz adres tego pliku w przeglądarce?
Salur
Mam otworzenie dwie karty, w jednej wpisuje dane w formularz i wysyłam a druga karte odswiezam.
trueblue
A wiesz, że to tak nie działa? Ajaxem wywołałeś jedno żądanie, a odświeżając stronę w drugiej karcie wywołujesz drugie, odrębne żądanie, w którym nie przesyłasz nic metodą POST.
Salur
Dziekuję za pomoc wink.gif wszystko pieknie działa.
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.