Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Ajax][jQuery] Dlaczego po wysłaniu dane nie znikają z formularza ?
damianooo
post 4.07.2016, 19:26:07
Post #1





Grupa: Zarejestrowani
Postów: 435
Pomógł: 2
Dołączył: 15.07.2011
Skąd: Katowice

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


Witam,

Mam taki oto formularz w TWIG:

  1. <form id="form">
  2. <div class="coupon_form">
  3. {% for key,match in matches %}
  4. <input type="hidden" name="match_id[]" id="match_id" class="match_id" value="{{ match.match_id }}">
  5. <div class="coupon_form_desc">
  6. {{ match.description }}
  7. </div>
  8. <div class="coupon_form_host">
  9. {{ match.host }}
  10. </div>
  11. <div class="coupon_form_host_type">
  12. <input type="text" name="hostType[]" id="hostType" class="hostType" maxlength='1'>
  13. </div>
  14. <div class="coupon_form_dash">-</div>
  15. <div class="coupon_form_guest_type">
  16. <input type="text" name="guestType[]" id="guestType" class="guestType" maxlength='1'>
  17. </div>
  18. <div class="coupon_form_guest">
  19. {{ match.guest }}
  20. </div>
  21. <div class="coupon_form_term">
  22. {{ match.term }}
  23. </div>
  24. {% endfor %}
  25. </div>
  26. <input type="submit" value="Wyślij"/>
  27. </form>


oraz taki kod jQuery:

  1. <script type="text/javascript">
  2.  
  3. $(function(){
  4. $("#form").submit(function(e){
  5. var form=$(this);
  6. $.ajax({
  7. url:"{{ path('typerka_types') }}",
  8. dataType:"JSON",
  9. type:"POST",
  10. data:form.serialize(),
  11. success:function(data){
  12. console.log(data);
  13. },
  14. error: function() {
  15. console.log("Wystąpił błąd");
  16. }
  17. });
  18. e.preventDefault();
  19. });
  20. });
  21.  


Dlaczego po kliknięciu przycisku "Wyślij" dane nie znikają z formularza ?
Czego mi tutaj brakuję ? Będę wdzięczny za podpowiedź.
Go to the top of the page
+Quote Post
trueblue
post 4.07.2016, 19:38:48
Post #2





Grupa: Zarejestrowani
Postów: 5 055
Pomógł: 1410
Dołączył: 11.03.2014

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


http://www.w3schools.com/jsref/met_form_reset.asp

Ten post edytował trueblue 4.07.2016, 19:39:01
Go to the top of the page
+Quote Post
damianooo
post 4.07.2016, 20:03:19
Post #3





Grupa: Zarejestrowani
Postów: 435
Pomógł: 2
Dołączył: 15.07.2011
Skąd: Katowice

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


ok...
ale mam jeszcze jedną rzecz ...

Dlaczego po wysłaniu danych do bazy nie wykonuje się ta część kodu po "success" tylko ta po "error" ?

tutaj:

  1. success:function(data){
  2. console.log(data);
  3. },
  4. error: function() {
  5. console.log("Wystąpił błąd");
  6. form.get(0).reset();
  7. }


w firebugu ciągle po wysłaniu danych wypisuje mi "Wystąpił błąd" , dlaczego ?
Go to the top of the page
+Quote Post
trueblue
post 4.07.2016, 20:09:01
Post #4





Grupa: Zarejestrowani
Postów: 5 055
Pomógł: 1410
Dołączył: 11.03.2014

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


Zobacz jaką odpowiedź zwraca żądanie (zakładka Chrome->F12->Network->kliknięcie na żądanie).
Go to the top of the page
+Quote Post
damianooo
post 4.07.2016, 20:21:36
Post #5





Grupa: Zarejestrowani
Postów: 435
Pomógł: 2
Dołączył: 15.07.2011
Skąd: Katowice

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


302 Found.

A więc chyba powinno być ok a nie jest

Rozumiem że powinno być 200 OK ?

Ten post edytował damianooo 4.07.2016, 20:22:24
Go to the top of the page
+Quote Post
trueblue
post 4.07.2016, 20:28:52
Post #6





Grupa: Zarejestrowani
Postów: 5 055
Pomógł: 1410
Dołączył: 11.03.2014

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


Niekoniecznie, być może ma być przekierowanie.
Po kliknięciu w dane żądanie wybierz podzakładkę Preview lub Response (obok Headers).
Go to the top of the page
+Quote Post
damianooo
post 4.07.2016, 20:36:03
Post #7





Grupa: Zarejestrowani
Postów: 435
Pomógł: 2
Dołączył: 15.07.2011
Skąd: Katowice

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


wybrałem "Response" i mam tutaj całą treść strony - dosyć przydługawą więc tego nie wkleję tutaj


Ten post edytował damianooo 4.07.2016, 20:55:00
Go to the top of the page
+Quote Post
trueblue
post 4.07.2016, 20:47:20
Post #8





Grupa: Zarejestrowani
Postów: 5 055
Pomógł: 1410
Dołączył: 11.03.2014

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


Chodziło mi o odpowiedź tylko tego żądania, które generuje wywołania Ajax.
Go to the top of the page
+Quote Post
damianooo
post 4.07.2016, 20:54:26
Post #9





Grupa: Zarejestrowani
Postów: 435
Pomógł: 2
Dołączył: 15.07.2011
Skąd: Katowice

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


hmm ... patrzę w Firefox w na zakładce Net klikając w wybranego requesta (POSTa) i na podzakładce (obok Headers i Post) Response i mam tak (wkleiłem tylko początek) :

  1. <!DOCTYPE html>
  2. <html class="no-js">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <title>Strona Główna | Typerka</title>
  7. <link rel="icon" type="image/png" href="/favicon.png">
  8. <meta name="description" content="">
  9. <meta name="viewport" content="width=device-width, initial-scale=1">
  10.  
  11. <link href="/bundles/mytyperka/css/styles.css" rel="stylesheet">
  12.  
  13. <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
  14.  
  15. </head>
  16. <body class='opl' link="gray" vlink="gray" alink="gray">
  17.  
  18. <div id="content_01">
  19. ....

Go to the top of the page
+Quote Post
trueblue
post 4.07.2016, 21:15:48
Post #10





Grupa: Zarejestrowani
Postów: 5 055
Pomógł: 1410
Dołączył: 11.03.2014

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


Tzn. że jest to zła odpowiedź.
Albo sprawa .htaccess albo routingu w kodzie - żądanie POST nie jest wyłapywane.
Go to the top of the page
+Quote Post
damianooo
post 6.07.2016, 13:03:25
Post #11





Grupa: Zarejestrowani
Postów: 435
Pomógł: 2
Dołączył: 15.07.2011
Skąd: Katowice

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


Rozumiem że odpowiedź powinna pokazywać obiekt JSON i mieć podzakładkę JSON a ja tego niestety nie mam.

A więc moje dane nie idą JSONem ?

Ja to mam napisane w PHP Symfony 2.6

W logach aplikacji błędów nie znalazłem
a w Profilerze w zakładce Routing mam:
typerka_types /types Route matches!





ok poradziłem sobie z tym ...
źle tego używałem faktycznie

W moim frameworku Symfony w kontrolerze nie miałem odpowiedzi JSON.
Musiałem użyć klasy jsonResponse - na forum od frameworków chłopaki podowiedzieli.

Teraz w firebugu mam normalnie zwrotkę 200 OK , zakładka Response nie pokazuje już treści strony a odowiedź w JSON , widać również w końcu zakładkę JSON, której wcześniej nie było widać.



Ten post edytował damianooo 4.07.2016, 21:46:53
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: 25.06.2018 - 03:29