Witam,
Mam taki oto formularz w TWIG:
<http://december.com/html/4/element/form.html id="form"> <http://december.com/html/4/element/div.html class="coupon_form"> {% for key,match in matches %} <http://december.com/html/4/element/input.html type="hidden" name="match_id[]" id="match_id" class="match_id" value="{{ match.match_id }}"> <http://december.com/html/4/element/div.html class="coupon_form_desc"> {{ match.description }} </http://december.com/html/4/element/div.html> <http://december.com/html/4/element/div.html class="coupon_form_host"> {{ match.host }} </http://december.com/html/4/element/div.html> <http://december.com/html/4/element/div.html class="coupon_form_host_type"> <http://december.com/html/4/element/input.html type="text" name="hostType[]" id="hostType" class="hostType" maxlength='1'> </http://december.com/html/4/element/div.html> <http://december.com/html/4/element/div.html class="coupon_form_dash">-</http://december.com/html/4/element/div.html> <http://december.com/html/4/element/div.html class="coupon_form_guest_type"> <http://december.com/html/4/element/input.html type="text" name="guestType[]" id="guestType" class="guestType" maxlength='1'> </http://december.com/html/4/element/div.html> <http://december.com/html/4/element/div.html class="coupon_form_guest"> {{ match.guest }} </http://december.com/html/4/element/div.html> <http://december.com/html/4/element/div.html class="coupon_form_term"> {{ match.term }} </http://december.com/html/4/element/div.html> {% endfor %} </http://december.com/html/4/element/div.html> <http://december.com/html/4/element/input.html type="submit" value="Wyślij"/> </http://december.com/html/4/element/form.html>
<http://december.com/html/4/element/script.html type="text/javascript"> $(function(){ $("#form").submit(function(e){ var form=$(this); $.ajax({ url:"{{ path('typerka_types') }}", dataType:"JSON", type:"POST", data:form.serialize(), success:function(data){ console.log(data); }, error: function() { console.log("Wystąpił błąd"); } }); e.preventDefault(); }); }); </http://december.com/html/4/element/script.html>
http://www.w3schools.com/jsref/met_form_reset.asp
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:
success:function(data){ console.log(data); }, error: function() { console.log("Wystąpił błąd"); form.get(0).reset(); }
Zobacz jaką odpowiedź zwraca żądanie (zakładka Chrome->F12->Network->kliknięcie na żądanie).
302 Found.
A więc chyba powinno być ok a nie jest
Rozumiem że powinno być 200 OK ?
Niekoniecznie, być może ma być przekierowanie.
Po kliknięciu w dane żądanie wybierz podzakładkę Preview lub Response (obok Headers).
wybrałem "Response" i mam tutaj całą treść strony - dosyć przydługawą więc tego nie wkleję tutaj
Chodziło mi o odpowiedź tylko tego żądania, które generuje wywołania Ajax.
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) :
<!DOCTYPE html> <http://december.com/html/4/element/html.html class="no-js"> <http://december.com/html/4/element/head.html> <http://december.com/html/4/element/meta.html charset="utf-8"> <http://december.com/html/4/element/meta.html http-equiv="X-UA-Compatible" content="IE=edge"> <http://december.com/html/4/element/title.html>Strona Główna | Typerka</http://december.com/html/4/element/title.html> <http://december.com/html/4/element/link.html rel="icon" type="image/png" href="/favicon.png"> <http://december.com/html/4/element/meta.html name="description" content=""> <http://december.com/html/4/element/meta.html name="viewport" content="width=device-width, initial-scale=1"> <http://december.com/html/4/element/link.html href="/bundles/mytyperka/css/styles.css" rel="stylesheet"> <http://december.com/html/4/element/script.html src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></http://december.com/html/4/element/script.html> </http://december.com/html/4/element/head.html> <http://december.com/html/4/element/body.html class='opl' link="gray" vlink="gray" alink="gray"> <http://december.com/html/4/element/div.html id="content_01"> ....
Tzn. że jest to zła odpowiedź.
Albo sprawa .htaccess albo routingu w kodzie - żądanie POST nie jest wyłapywane.
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ć.
Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)