[JavaScript][AJAX]Ajax nie zwraca błedu |
[JavaScript][AJAX]Ajax nie zwraca błedu |
22.06.2013, 18:57:07
Post
#1
|
|
Grupa: Zarejestrowani Postów: 150 Pomógł: 3 Dołączył: 13.04.2010 Ostrzeżenie: (0%) |
Przerobiłem swój stary formularz logowania na ajax . Wszystko fajnie działa tylko przy błędnym wpisywaniu hasła loginu jak mam poinformowac uzytkownika ze cos jest nie tak? Mam dodane .fail ale nie działa tak jakby pomijało kod
Oto mój kod ajax
Formularz logowania
Przetwarzanie formularza
Ma ktos jakaś koncepcja jak sprawic zeby fail zadziałał jak uzytkownik wprowadzi błedny login i hasło w tej chwili zeruje sie formularz Ten post edytował set4812 22.06.2013, 18:57:41 |
|
|
22.06.2013, 19:08:32
Post
#2
|
|
Grupa: Zarejestrowani Postów: 428 Pomógł: 2 Dołączył: 1.04.2007 Skąd: Pogorzelica Ostrzeżenie: (10%) |
Nie wiem czy dobrze przeanalizowałem twój kod ale mi się wydaje że błąd tkwi w .fail o ile dobrze pamiętam to zadziała tylko wtedy kiedy nie uda się uruchomić tego pliku php. Więc musisz z pliku php zwracać sobie wartość false lub true, i w skrypcie wykonać odpowiednią akcje.
|
|
|
22.06.2013, 19:15:22
Post
#3
|
|
Grupa: Zarejestrowani Postów: 150 Pomógł: 3 Dołączył: 13.04.2010 Ostrzeżenie: (0%) |
Dałem return 0; i nadal nic
Jest jakies inne rozwiazanie na ajax zeby zwrocil blad bledne hasło lub login? Ten post edytował set4812 22.06.2013, 19:16:07 |
|
|
22.06.2013, 19:16:45
Post
#4
|
|
Grupa: Zarejestrowani Postów: 291 Pomógł: 45 Dołączył: 21.08.2007 Ostrzeżenie: (0%) |
Brak konsekwencji - raz echo raz json. Raczej zwracaj sobie statusy typu true/false, 0/1, albo inaczej. I w done obrabiaj sobie akcje - jak odpowiedź pozytywna to przeładuj stronę, jak negatywna to wyczyść formularz, ustaw aktywność pola i wyrzuć jakiś komunikat dla odwiedzającego. -- Chyba, że jak bardzo upierasz się przy tym rozwiązaniu to jeśli logowanie jest nieprawidłowe odpowiadać kodem błędu 403, a jeśli jest ok to kodem 200. Rozwiązanie zależne od własnych preferencji. Ten post edytował klocu 22.06.2013, 19:17:56 |
|
|
22.06.2013, 19:24:42
Post
#5
|
|
Grupa: Zarejestrowani Postów: 150 Pomógł: 3 Dołączył: 13.04.2010 Ostrzeżenie: (0%) |
Nadal fail nie działa Ma ktoś moze jakis przyklad ktory działa? Ten post edytował set4812 22.06.2013, 19:28:05 |
|
|
22.06.2013, 19:47:17
Post
#6
|
|
Grupa: Zarejestrowani Postów: 428 Pomógł: 2 Dołączył: 1.04.2007 Skąd: Pogorzelica Ostrzeżenie: (10%) |
pisane na szybko z głowy sprawdź dokładnie: http://api.jquery.com/jQuery.ajax/ Ten post edytował krzychu0808 22.06.2013, 19:48:23 |
|
|
22.06.2013, 19:52:11
Post
#7
|
|
Grupa: Zarejestrowani Postów: 728 Pomógł: 76 Dołączył: 12.06.2009 Ostrzeżenie: (0%) |
Tak jak kolega wyżej napisał w skrypcie zwróć ale nie return tylko echo odpowiedni status a później instrukcją warunkową obsłuż to w JS
-------------------- gry flash online
Dobry hosting i tanie odnowienia domen firma: masternet. Zarabianie bez wysiłku na domenach bez ruchu: prolink. |
|
|
22.06.2013, 20:35:12
Post
#8
|
|
Grupa: Zarejestrowani Postów: 150 Pomógł: 3 Dołączył: 13.04.2010 Ostrzeżenie: (0%) |
Moze ktos mi wytlumaczyc czemu alert(wynik) zwraca mi
Dopiero ucze sie ajax i nie rozumiem jeszcze jego w działania. Dobra juz wiem skad ten html sie bierze zeby sie go pozbyc musze go uciac czy jest jakas inna metoda? Ten post edytował set4812 22.06.2013, 21:39:16 |
|
|
22.06.2013, 21:40:54
Post
#9
|
|
Grupa: Zarejestrowani Postów: 428 Pomógł: 2 Dołączył: 1.04.2007 Skąd: Pogorzelica Ostrzeżenie: (10%) |
Zwrócił ci błąd wykonania pliku PHP. Masz błąd w pliku login.php
Notice: Undefined index: id in C:\wamp\www\test\login.php on line 28 I aby nie było problemu możesz sobie dodać:
Ten post edytował krzychu0808 22.06.2013, 21:41:37 |
|
|
22.06.2013, 21:45:06
Post
#10
|
|
Grupa: Zarejestrowani Postów: 150 Pomógł: 3 Dołączył: 13.04.2010 Ostrzeżenie: (0%) |
Krzychu naprawiłem błąd ale on mi nadal zwraca html. Zwraca mi wszystko do body bo po wykonaniu ajax zabijam skrypt . Z tego co wyczytałem Ajax odczytuje wszystko jak idzie a ze moje skrypty wykonuja sie w body to pobiera html do tego miejsca
|
|
|
22.06.2013, 22:03:16
Post
#11
|
|
Grupa: Zarejestrowani Postów: 428 Pomógł: 2 Dołączył: 1.04.2007 Skąd: Pogorzelica Ostrzeżenie: (10%) |
Musisz stworzyć sobie osobny plik PHP który będzie zawierał tylko i wyłącznie połączenie z bazą + ta funkcja twoja weryfikacji. Tak aby po wykonaniu programu wyświetliło się 0 lub 1 tylko. Bo ajax po wykonaniu skryptu pobiera treść która się wyświetla i odczytujesz sobie ją w zmiennej wynik.
Tylko może być taka sytuacja że .done zwraca wynik ubrany w html. Ja to robię tak:
Ten post edytował krzychu0808 22.06.2013, 22:30:13 |
|
|
Wersja Lo-Fi | Aktualny czas: 25.04.2024 - 00:33 |