Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: AJAX dane z buttona do zmiennej php
Forum PHP.pl > Forum > XML, AJAX > AJAX
Sokusters
Witam, otóż od 3 dni męczę się z ajaxem. Przejdę od razu do rzeczy.

Mam buttona zamieszczonego w każdym wierszu tabeli która jest w pętli for (wiersze)

  1. <button data-toggle="modal" data-target="#admin_info" name="button_nick" value="$a2">I</button>


dane w ajaxie (wszystko w tym samym pliku)

[JAVASCRIPT] pobierz, plaintext
  1. $(document).ready(function() {
  2.  
  3. var dane = {
  4. 'qwer' : $('button[name=button_nick]').click().val(),
  5. };
  6. $.ajax({
  7. type : 'POST',
  8. url : 'listaadministracji.php',
  9. data : dane,
  10. dataType : 'json',
  11. encode : true
  12. })
  13. });
[JAVASCRIPT] pobierz, plaintext


i w zawartości modalu:
  1. echo $_POST['qwer'];


Ogólnie zamysł jest taki, że klikam sobie w któryś button w tabeli on w atrybucie value ma wartość = nazwa_uzytkownika i ta wartość ma trafić do zmiennej php która jest akurat w modalu. Musi to być w php ponieważ potem będę to wykorzystywał jako zmienna bazy danych.

Z góry dziękuję za pomoc.
trueblue
Zawsze możesz skorzystać z Google:
https://www.google.com/search?q=jquery%20aj...%20send%20value
Sokusters
Jakby to działało to bym tak zrobił. Samo pobieranie i wyswietlanie działa ale to nie jest w zmiennej php
trueblue
Widzisz różnicę między tym kodem: https://stackoverflow.com/a/29582672, a Twoim?
Kiedy jest wywoływany kod Ajax'a w tym przykładzie?
Sokusters
Kiedy klikniemy w coś co ma klase click ;D

faktycznie zapomniałem zrobiłem teraz coś takiego no i dalej nic

  1. <button class="nick_uzytkownika" data-toggle="modal" data-target="#admin_info" name="button_nick" value="$a2">I</button>


[JAVASCRIPT] pobierz, plaintext
  1. $(document).ready(function() {
  2. $(".click").click(function()
  3. {
  4. var dane = {
  5. 'qwer' : $('button[name=button_nick]').click().val(),
  6. };
  7. $.ajax({
  8. type : 'POST',
  9. url : 'listaadministracji.php',
  10. data : dane,
  11. dataType : 'json',
  12. encode : true
  13. })
  14. });
  15. });
[JAVASCRIPT] pobierz, plaintext


  1. echo $_POST['qwer'];
trueblue
Tak, a nie klasę nick_uzytkownika.
A dojrzałeś jak pobierana i przekazywana jest wartość przycisku do Ajax'a?
Sokusters
Faktycznie już poprawiłem. Ale nie zmienia to faktu iż nadal nie działa
trueblue
To pochwal się kodem po tych zmianach, bo trudno wnioskować dlaczego nie działa.
Sokusters
  1. <button class="nick_uzytkownika" data-toggle="modal" data-target="#admin_info" name="button_nick" value="$a2">I</button>


[JAVASCRIPT] pobierz, plaintext
  1. $(document).ready(function() {
  2. $(".nick_uzytkownika").click(function()
  3. {
  4. var dane = {
  5. 'qwer' : $('button[name=button_nick]').click().val(),
  6. };
  7. $.ajax({
  8. type : 'POST',
  9. url : 'listaadministracji.php',
  10. data : dane,
  11. dataType : 'json',
  12. encode : true
  13. })
  14. });
  15. });
[JAVASCRIPT] pobierz, plaintext


  1. echo $_POST['qwer'];
trueblue
Myślę, że dobrze by było abyś jednak sprawdził jak jest przekazywana wartość z przycisku do Ajaxa' (w przykładzie), o czym już wcześniej pisałem.
Sokusters
Wydaje mi sie że problem nie leży po stronie pobierania danych tylko samego przesyłu. Z ciekawości zrobiłem coś takiego.

[JAVASCRIPT] pobierz, plaintext
  1. $(document).ready(function() {
  2. $(".nick_uzytkownika").click(function()
  3. {
  4. var dane = "asdads";
  5. $.ajax({
  6. type : 'POST',
  7. url : 'listaadministracji.php',
  8. data : dane,
  9. dataType : 'json',
  10. encode : true
  11. })
  12. });
  13. });
[JAVASCRIPT] pobierz, plaintext


  1. echo $_POST['dane'];


I nadal nic się nie wyświetla
trueblue
A skąd wiesz skoro ten plik z echo wywołujesz w innym momencie niż żądanie Ajax?
Sokusters
Zmieniłem php na

  1. if(isset($_POST['dane'])) {
  2. echo $_POST['dane'];
  3. }


To powinno weryfikować tak?
trueblue
Jeszcze raz. Jeśli wywołujesz plik w innym momencie niż żądanie Ajax, to nie zobaczysz odpowiedzi.
Sokusters
Wiec jak bym musiał to zrobić aby działało questionmark.gif
trueblue
Wyświetlasz zawartość tego żądania w zakładce Sieć w konsoli przeglądarki.
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-2020 Invision Power Services, Inc.