• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Przeładowanie strony

0 głosów
84 wizyt
pytanie zadane 2 stycznia w JavaScript, jQuery, AJAX przez jaca121212 Nałogowiec (38,190 p.)

 

https://pastebin.com/xNyk0X3P

W formularzu  mamy dwa pola i przycisk, gdzie po kliknięciu  w niego  wysyła nam  zapytanie do serwera  i zwraca odpowiedź. W jaki sposób zrobić aby po odpowiedzi serwera z  poprawnymi danymi  wczytało stronę bez przeładowania. Ktoś może mi to wytłumaczyć.

Cały kod  strony jest  w linku wyżej.

komentarz 3 stycznia przez JSHolic Szeryf (82,260 p.)

$("#response").html(s) w linijce 173 nie robi tego, co chcesz?

komentarz 3 stycznia przez jaca121212 Nałogowiec (38,190 p.)

Wiem, jeżeli zastosuje  to tak 

success: function(s){
							$("#response").html(s);
							window.location.href = 'index.php';
							
							
						},
error: function(e){
							$("#response").html(e);
						}
						

 to  po wpisaniu  nie prawidłowych danych  przeładuje mi stronę. 

W jaki sposób zrobić warunek sprawdzający.

if ($resultat->num_rows > 0)
{
		 	$_SESSION['loged'] = '1';
		 	$_SESSION['user'] = $login;
			//success	
		 	exit('<div class="lds-roller"><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div>please white ...</div> ');

 	}
else
	 {
	 	//error
		exit('<font color="red"><i class="fas fa-exclamation-triangle">error logowania</i></font>');
	 }
}

Mamy tutaj zapytanie czy dane się zgadzają czy nie.

Jeśli się zgadzają to na  stronie powinien znajdować się  napis  oraz przekierowanie. 

Jeśli się nie zgadzają to  na stronie powinien znajdować się napis i bez przekierowania.

komentarz 3 stycznia przez karszczak Obywatel (1,640 p.)
edycja 3 stycznia przez karszczak

jaca121212, rozumiem, że chciałabyś wyświetlić index.php w odpowiedzi na poprawne zalogowanie bez przeładowania? W tym momencie zakażdym razem Ci się przeładowuje?

Z tego co widzę to:
1. Wysyłasz formularz ajax za pomocą post
2. Opakowujesz w odpowedź html
3. Dodajesz/ nadpisujesz html za pomocą jednej z metod jquery.

Zauważaż, że obsługujesz ajaxem success, a w php za pomocą metody exit wysyłasz jedynie succes, zamiast wyrzucać wyjątek. Za pomocą metody exit możesz przekazać w argumencie 1 -> exit(1), by wyrzucić wyjątek / błąd. 

źródło: http://php.net/manual/pl/function.exit.php#refsect1-function.exit-examples

komentarz 3 stycznia przez jaca121212 Nałogowiec (38,190 p.)
jeśli chodzi o  wyrzucenie błędu to pierwotnie bym zrobił to na session głównie chodzi mi  o  przechwycenie tego  błędu lub success. jak to w praktyce wygląda.
komentarz 3 stycznia przez karszczak Obywatel (1,640 p.)
edycja 3 stycznia przez karszczak
Przy komunikacji z wykorzystaniem jQuery.ajax, to jak najbardziej możesz zdefiniować funkcje, które wywołują się dla success i error, jak w Twoim kodzie.

W Twoim przykładzie masz dwa rezultaty: sukces i niepowodzenie. Poponuje byś w wartswie php (serwera) zwrócił odpowiedź z sukcesem, a przy nie powodzeniu wyrzucił wyjątek. W tedy możesz w warstwie aplikacji obsłużyć ten przypadek wstrzykując dla danego scenariusza odpowiedni fragment html.

Czyli proponuje przenieść warstwę prezentacyjną html do JS, a w PHP zostawić obsługę logowania.

Daj znać czy jest to dla Ciebie zrozumiałe. Jak masz pytania, a propo tego co napisałem, to wal.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 426 wizyt
pytanie zadane 21 czerwca 2015 w C i C++ przez Bartaz Początkujący (440 p.)
0 głosów
1 odpowiedź 42 wizyt
0 głosów
1 odpowiedź 45 wizyt
pytanie zadane 27 marca w JavaScript, jQuery, AJAX przez 12david12 Stary wyjadacz (10,490 p.)
Porady nie od parady
Możesz ukryć, zamknąć lub zmodyfikować swoje pytanie, za pomocą przycisków znajdujących się pod nim. Nie krępuj się poprawić pochopnie opublikowanego pytania czy zamknąć go po uzyskaniu satysfakcjonującej odpowiedzi. Umożliwi to zachowanie porządku na forum.Przyciski pytania

67,116 zapytań

114,064 odpowiedzi

241,764 komentarzy

47,028 pasjonatów

Przeglądających: 179
Pasjonatów: 10 Gości: 169

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...