Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][AJAX][JavaScript]Problem z odbieraniem danych a wywołania AJAXa
sebap123
post
Post #1





Grupa: Zarejestrowani
Postów: 253
Pomógł: 1
Dołączył: 26.08.2009
Skąd: Szczecin

Ostrzeżenie: (10%)
X----


Mam pewien problem ze swoim skryptem. Umieściłem w nim weryfikację e-mail przy pomocy skryptu php. Z formularza do skryptu dane przy pomocy skryptu w jQuery i ajaxa przechodzą do skryptu.
Generalnie przechodzą i są sprawdzane poprawnie. Problem polega na tym, że nie wiem jak dane przychodzące sprawdzić i coś na tej bazie zrobić.

fragment kodu o który mi chodzi wygląda następująco:
[JAVASCRIPT] pobierz, plaintext
  1. function validateEmail()
  2. {
  3. var text = email.val();
  4. var flag = "";
  5. if(email.val().length<5)
  6. {
  7. alert("za krotki mail");
  8. return false;
  9. }
  10. var request = $.ajax({
  11. type:"POST",
  12. url:"test2.php",
  13. data:"opcja=email&wartosc="+text,
  14. success:function(data){
  15. if(data=="true")
  16. {
  17. flag="correct";
  18. alert("1."+flag);
  19. }
  20. },
  21. error:function(XMLHttpRequest, textStatus, errorThrown)
  22. {
  23. alert("Wystapił bład");
  24. }
  25. });
  26. request.fail(function(){alert("Wystąpił błąd");});
  27. if(flag=="correct")
  28. alert("ok");
  29. else
  30. alert("2."+flag);
  31. }
[JAVASCRIPT] pobierz, plaintext

Jak dla mnie wszystko działa tzn. wysyłam dane do pliku test2.php a następnie dzięki funkcji przy atrybucie sukces odbieram dane i jeśli jest true to ustawiam flagę. Potem, jeśli flaga jest correct to kończę funkcję z wynikiem true.
Rzeczywistość jest jednak inna - gdy wykonuję skrypt to zawsze najpierw wywołany zostaje alert z nr 2 a dopiero potem z nr 1 czyli tak jakby kod był wykonywany od dołu i dlatego nigdy flag nie jest przypisany.

Tutaj jest cała strona na której to testuje:
http://sebastianperyt.pl/javascript/testJQ.html

Będę wdzięczny za podpowiedzi.
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 Aktualny czas: 19.08.2025 - 08:43