Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [ajax] [php] Problem z przesłaniem danych, Problem z przesłaniem danych z php za pomoca ajax
glocek2121
post 8.06.2017, 00:22:39
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 7.06.2017

Ostrzeżenie: (0%)
-----


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>


Go to the top of the page
+Quote Post
viking
post 8.06.2017, 04:20:51
Post #2





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Uruchom konsolę przeglądarki i poczytaj błędy.


--------------------
Go to the top of the page
+Quote Post
glocek2121
post 10.06.2017, 11:26:35
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 7.06.2017

Ostrzeżenie: (0%)
-----


Właśnie o to chodzi ze nie wywal żadnych błędów.

Oto screen:

Go to the top of the page
+Quote Post
patwoj98
post 10.06.2017, 20:26:00
Post #4





Grupa: Zarejestrowani
Postów: 218
Pomógł: 16
Dołączył: 6.06.2014
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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


Daj znać co Ci się wyświetli.
Go to the top of the page
+Quote Post
nospor
post 10.06.2017, 20:28:09
Post #5





Grupa: Moderatorzy
Postów: 36 446
Pomógł: 6292
Dołączył: 27.12.2004




data : category,

Nigdzie nie widze, bys gdziekolwiek zmienna category ustawial wiec moze poprostu nie istnieje?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
glocek2121
post 11.06.2017, 20:27:56
Post #6





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 7.06.2017

Ostrzeżenie: (0%)
-----


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.




Go to the top of the page
+Quote Post
patwoj98
post 11.06.2017, 21:27:56
Post #7





Grupa: Zarejestrowani
Postów: 218
Pomógł: 16
Dołączył: 6.06.2014
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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);

            }


Ten post edytował patwoj98 11.06.2017, 21:29:30
Go to the top of the page
+Quote Post
glocek2121
post 12.06.2017, 00:42:55
Post #8





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 7.06.2017

Ostrzeżenie: (0%)
-----


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


Go to the top of the page
+Quote Post
nospor
post 12.06.2017, 08:46:48
Post #9





Grupa: Moderatorzy
Postów: 36 446
Pomógł: 6292
Dołączył: 27.12.2004




Zobacz w innych zakladkach co dokladnie idzie twoim AJAXem i co jest zwracane


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.04.2024 - 12:09