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

Przeładowanie strony

VPS Starter Arubacloud
0 głosów
828 wizyt
pytanie zadane 2 stycznia 2019 w JavaScript przez jaca121212 Nałogowiec (40,760 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 2019 przez ScriptyChris Mędrzec (190,190 p.)

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

komentarz 3 stycznia 2019 przez jaca121212 Nałogowiec (40,760 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 2019 przez dkarski Obywatel (1,610 p.)
edycja 3 stycznia 2019 przez dkarski

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 2019 przez jaca121212 Nałogowiec (40,760 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 2019 przez dkarski Obywatel (1,610 p.)
edycja 3 stycznia 2019 przez dkarski
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ź 872 wizyt
pytanie zadane 21 czerwca 2015 w C i C++ przez Bartaz Początkujący (440 p.)
0 głosów
0 odpowiedzi 481 wizyt
pytanie zadane 7 października 2021 w JavaScript przez Piotr Popławski Użytkownik (610 p.)
0 głosów
1 odpowiedź 251 wizyt

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...