Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ajax] [php] Problem z przesłaniem danych
Forum PHP.pl > Forum > XML, AJAX
glocek2121
Witam, mam problemy co do przesłań w ajax, jestem początkującym programistą wiec proszę o wyrozumiałość.
Pisząc swój pierwszy sklep internetowy napotkałem na problem z przesłaniem kodu php'a za pomoca js.
Wiem ze błąd jest w js sprawdzałem to poprzez wpisaniem php w html i działa kod poprawnie, a gdy próbuje za pomocą js przesłać ten sam kod php to w ogóle go nie wyświetla. PHP pobiera dane z bazy i wyświetla odpowiednie kategorie.
Proszę o pomoc, napisanie, wskazanie błędu w kodzie js.

JS:
  1. $(document).ready(function(){
  2. cat();
  3. function cat(){
  4. $.ajax({
  5. url : "action.php",
  6. method: "POST",
  7. data : category,
  8. success : function(data){
  9. $("#get_category").html(data);
  10.  
  11. }
  12. })
  13. }
  14.  
  15. });


PHP:
  1. <?php
  2. $servername = "localhost";
  3. $username = "root";
  4. $password ="";
  5. $db = "alatex";
  6.  
  7. $con = mysqli_connect ($servername, $username,$password,$db);
  8.  
  9. if (!$con){
  10. die("Połaczneinie nie powiodło sie: ". mysql_connect_error());
  11. }
  12.  
  13. if(isset($_POST["category"])){
  14. $category_q[/manual]uery = "SELECT * FROM categories";
  15. $run_query = mysqli_query($con,$category_query) or die(mysqli_error($con));
  16. echo "
  17. <div class='nav nav-pills nav-stacked'>
  18. <li class='active'><a href='#'><h4>Categories</h4></a></li>
  19. ";
  20. if(mysqli_num_rows($run_query) > 0){
  21. while($row = mysqli_fetch_array($run_query)){
  22. $cid = $row["cat_id"];
  23. $cat_name = $row["cat_title"];
  24. echo "
  25. <li><a href='#'> $cat_name</a></li>
  26. ";
  27. }
  28. echo "</div>";
  29. }
  30. }
  31. ?>


HTML:
  1. <div id="get_category"></div>


viking
Uruchom konsolę przeglądarki i poczytaj błędy.
glocek2121
Właśnie o to chodzi ze nie wywal żadnych błędów.

Oto screen:

patwoj98
Zrób w ciele "success" (na samym początku):
Kod
console.log(data);


Daj znać co Ci się wyświetli.
nospor
data : category,

Nigdzie nie widze, bys gdziekolwiek zmienna category ustawial wiec moze poprostu nie istnieje?
glocek2121
Delikatnie zmieniony jest js:
data : {category:1}

Bo taka uzyskałem podpowiedź, ale jak widać wstawiłem ten console.log i faktycznie nie zna tej zmiennej. Podpowie ktoś jak to poprawić. Bo mi się skończyły pomysły, jak to ma przesyłać te informacje z bazy danych.




patwoj98
1. Za delikatnie zmieniłeś tego JSa, zamień to swoje na to:
Kod
data    :    {'category': 1}


2. Ja bym zrobił sprawdzanie poprawności danych w ten sposób (tak jak Ci opisałem poprzednio):

Kod
success    :    function(data){
                console.log(data);

            }
glocek2121
Sorki, poprawiłem tak jak powinno być i konsola znowu nic nie wypisuje. tak jak by nic nie było przesyłane.


nospor
Zobacz w innych zakladkach co dokladnie idzie twoim AJAXem i co jest zwracane
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-2024 Invision Power Services, Inc.