|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre habitué
![]() Inscription : septembre 2002 Messages : 140 ![]() |
Bonjour,
J'ai un problème qui va certainement apparaitre normal pour nombreux d'entre vous car Ajax est "asynchrone", mais pourtant je ne trouve pas la solution... Pour vérifier l'exécution de mon scritpt, j'ai mis des balises "ici 1", "ici 2", etc. : Code :
Code :
Merci à vous pour vos pistes |
||||
|
|
00
|
|
|
#2 | |
![]() ![]() Andry Aimé Inscription : septembre 2007 Messages : 5 129 ![]() |
Bonjour,
1- Citation:
2- Que veux-tu faire? Je ne vois pas trop l'intérêt de vérifier la valeur de "element" à chaque étape comme ça sans que tu lui affectes une nouvelle valeur. 3- Tu peux aussi travailler en mode synchrone si c'est ton soucis. A+. |
|
|
|
00
|
|
|
#3 | ||
|
Membre habitué
![]() Inscription : septembre 2002 Messages : 140 ![]() |
Merci Andry,
Citation:
Je viens de replacer l'alerte "ici1" après l'accolade, soit juste avant "ici 2", et l'ordre d'affichage est le même (ça affiche d'abord 2, 4 puis 1, etc comme dans le message initial) Citation:
3 - J'utilise onreadystatechange et je fais un test xhr.readyState == 4, donc je suis théoriquement en mode synchrone, non ? Et pourtant au vu de l'affichage des balises "ici", ça reste asynchrone... Ce qui m'embête, c'est que jamais le "ici 3" ne s'affiche... Merci si vous avez d'autres idées |
||
|
|
00
|
|
|
#4 | |||
![]() ![]() Andry Aimé Inscription : septembre 2007 Messages : 5 129 ![]() |
Bonsoir,
Citation:
Code :
A+. |
|||
|
|
10
|
|
|
#5 | ||
|
Membre Expert
![]() Eric GaridacciInscription : septembre 2005 Messages : 1 057 ![]() |
Salut,
Citation:
Code :
if(xhr.readyState == 4 && xhr.status == 200) Citation:
Ensuite pour le test, tu ne devrais pas utiliser alert() mais plutôt écrire le résultat dans une div par exemple.
__________________
N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ... |
||
|
|
00
|
|
|
#6 |
|
Membre habitué
![]() Inscription : septembre 2002 Messages : 140 ![]() |
Merci à tous les 2
![]() Ça fait autour d'un an que j'avais arrêté de m'intéresser à ajax à cause de l'asynchrone... Et là, c'est bon, vous m'avez débloqué (je n'osais pas poster, je croyais que c'était moi qui lisais mal les tutoriels) Andry, merci pour ton code, j'y ai mis mes alertes (ok Éric 2A, je ferais des div, mais j'avais les alertes sous la main Maintenant, je vais pouvoir travailler dessus. À part ça, je ne sais plus si j'avais mis xhr comme variable globale (ces scritps remontent à un an...), mais je vais le garder à l'esprit. Et sinon, je teste directement sur un serveur distant (je pense que c'est mieux avec des délais de réponse un peu plus longs). Donc encore merci, et à bientôt |
|
|
00
|
|
|
#7 | |
![]() ![]() ![]() Didier MouronvalDéveloppeur Web Inscription : juin 2008 Messages : 13 807 ![]() |
Citation:
__________________
Pas de question technique par MP ! Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi ! Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi ! Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux Mon livre sur jQuery
|
|
|
00
|
|
|
#8 |
![]() ![]() Andry Aimé Inscription : septembre 2007 Messages : 5 129 ![]() |
|
|
|
00
|
|
|
#9 |
|
Membre habitué
![]() Inscription : septembre 2002 Messages : 140 ![]() |
Vraiment tout va bien maintenant, le problème est résolu. Là je suis en train de paufiner
Mon erreur provenait du fait que j'étais en asynchrone alors que je m'attendais à du synchrone (c'était mon problème d'il y a un an, avec un script pour Google Maps). La solution est celle d'andry.aime : true = asynchrone, et false = synchrone Code :
xhr.open("POST",'monfichier.php',false); |
|
|
00
|
|
|
#10 |
|
Membre habitué
![]() Inscription : septembre 2002 Messages : 140 ![]() |
Bien content d'arriver à une mini-page, j'en profite pour la citer :
http://tirezpas.com C'est une page "bête", il faut cliquer sur des noms de personnes qu'on n'aime pas trop pour faire monter leur score. Au niveau programmation, si certains sont intéressés, je peux publier le code. En tout cas, je suis bien content d'y être arrivé (autosatisfaction ), et merci pour votre aide !
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com