Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Ajax - async: false
topcio
post 19.03.2018, 22:00:30
Post #1





Grupa: Zarejestrowani
Postów: 140
Pomógł: 0
Dołączył: 14.01.2017

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


Witajcie
mam funkcję weryfikującą hasło, która działa tylko kiedy wyłączona jest asynchroniczność, w konsoli pisze, że asynchroniczność zostanie niedługo wyłączona
czy istnieje jakiś inny sposób na synchroniczne zapytanie typu ajax?
[JAVASCRIPT] pobierz, plaintext
  1. passVerification = function () {
  2. var testowe = $.ajax({
  3. type: "POST",
  4. async: false,
  5. cache: false,
  6. url: "../php_function/user/user.php",
  7. data: $('#unblock_UI_confirm').parents("form").serializeArray()
  8. });
  9. var session_unfrozen = $.ajax({
  10. type: "POST",
  11. async: false,
  12. cache: false,
  13. url: "../php_function/user/user.php",
  14. data: { ajax_test:"user_session_unfrozen" }
  15. });
  16.  
  17. testowe.done(function (value) {
  18. if (value == 'veryfication success') {
  19. console.log('hasło OK');
  20. session_unfrozen.done(function (val) {
  21. if (val == 'session_unfrozen') {
  22. console.log('odblokowany');
  23. destroyWarningDialog();
  24. stopDialogTimer();
  25. startIdleTimer();
  26.  
  27. }
  28. else {
  29. event.preventDefault();
  30. event.stopPropagation();
  31. console.log('sesja nie odblokowana');
  32. }
  33. })
  34. }
  35. else {
  36. event.preventDefault();
  37. event.stopPropagation();
  38. console.log('zle haslo');
  39. //logoutUser();
  40. }
  41. });
  42. };
[JAVASCRIPT] pobierz, plaintext
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
topcio
post 21.03.2018, 00:43:23
Post #2





Grupa: Zarejestrowani
Postów: 140
Pomógł: 0
Dołączył: 14.01.2017

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


jak zerkniesz w konsolę po zalogowaniu to leci licznik jak dojdzie do 0 to zablokuje

Troszkę przerobiłem, jest w jednym request, teraz działa prawidłowo
[JAVASCRIPT] pobierz, plaintext
  1. passVerification = function () {
  2. console.log('Zaczynam sprawdzanie hasłe: ');
  3. console.log('Wykonuje pierwszy Ajax Request: ');
  4. var verification = $.ajax({
  5. type: "POST",
  6. async: false,
  7. cache: false,
  8. url: "../php_function/user/user.php",
  9. data: $('#unblock_UI_confirm').parents("form").serializeArray()
  10. });
  11. verification.done(function(response_01) {
  12. console.log(' Ajax Request 1: ' + $.parseJSON(response_01)[0]);
  13. });
  14. $.when(verification).done(function(verification) {
  15. var json = $.parseJSON(verification);
  16. if ((json[0] == 'veryfication_success') && ( json[1] == 'session_unfrozen')) {
  17. console.log('Ponieważ hasło i sesja OK -> odblokowuje interfejs');
  18. destroyWarningDialog();
  19. stopDialogTimer();
  20. startIdleTimer();
  21. }
  22. else if ((json[0] == 'veryfication_success') && ( json[1] == 'session_unfrozen_error')) {
  23. console.log('Hasła zgodne, brak ID sesji -> wylogowuje');
  24. logoutUser();
  25. }
  26. else if (json[0] == 'verification_failed') {
  27. console.log('Hasła niezgodne -> blokuje działanie przycisku');
  28. $("#unblock_UI").submit(function (e) {
  29. e.preventDefault();
  30. e.stopPropagation();
  31. });
  32. }
  33. else {
  34. logoutUser();
  35. }
  36. });
  37. };
[JAVASCRIPT] pobierz, plaintext
Go to the top of the page
+Quote Post

Posty w temacie


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: 20.04.2024 - 01:02