Ajax en asychrone - HTML/CSS - Programmation
Marsh Posté le 23-10-2006 à 21:01:12
tu pourrais pas utilise un timeout?
Marsh Posté le 23-10-2006 à 22:32:09
Salut,
Essaie
Code :
|
Marsh Posté le 24-10-2006 à 01:51:49
kirua_sama : Où ?
sigmar_ : Rien de neuf, si ce n'est que la vérification du code de la réponse du serveur.
Marsh Posté le 24-10-2006 à 07:58:24
si ca bloque le navigateur, tu es en mode synchrone
remplace xhr_object.open("GET", fichier, false);
par
xhr_object.open("GET", fichier, true);
Marsh Posté le 24-10-2006 à 08:34:25
My bad, j'avais copié/collé ton code.
Comme dit flo850 sinon.
Note que mon "si ce n'est" est utile.
Marsh Posté le 25-10-2006 à 18:05:58
Ça ne me dérange pas que le navigateur gèle pendant un instant, je veux juste qu'il ne gèle pas plus de 5 secondes. Et je ne peux pas me mettre en asychrone (pardonner moi l'erreur dans le titre), parce que la variable est reprit dans un script, le script étant en attente d'une réponse pour finaliser son action. Ce que je veux en fait, c'est afficher un message d'erreur après le délai de 5 secondes de gel dépasser.
Merci de m'aider.
Marsh Posté le 25-10-2006 à 20:10:30
tu fais ta requete en asynchrone
puis ,tu fait une boucle:
boucle : Si la reponse est prete ?
alors traitement de la reponse
sinon est ce que j'ai deja attendu 5s ?
alors message d'erreur
non alors attendre 1s et on repart pour un tour de boucle
Marsh Posté le 26-10-2006 à 11:19:35
flo850 a écrit : tu fais ta requete en asynchrone |
Pas sur que ca réponde a sa demande : Le sleep n'existe pas en javascript à ma connaissance donc pour le faire il faut encore un timer. Le problème d'utilisation séquentielle de la variable reste par conséquent posé non puisqu'on reste dans un fonctionnement événementiel ?
Pour ma part j'ai choisi de faire de l'asynchrone en "bloquant" graphiquement l'interaction sur la page mais l'exploitation du résultat de la commande AJAX se fait dans un handler.
Je suis preneur d'une solution "séquentielle" si quelqu'un a mais je ne vois pas comment ...
Marsh Posté le 26-10-2006 à 14:53:45
Il va falloir que tu me montre ça flo850, une boucle avec pause dans une seule fonction conservant les returns pour la valeur retournée.
Marsh Posté le 06-11-2006 à 14:09:12
Dans :
Code :
|
Je ne peux même pas remplacer le "alert" par un "return" parce qu'il est trop tard.
Que faire?
Marsh Posté le 06-11-2006 à 14:53:01
darkkrab a écrit : Dans :
Je ne peux même pas remplacer le "alert" par un "return" parce qu'il est trop tard. |
Marsh Posté le 06-11-2006 à 14:55:12
Pardon pour le post inutile (erreur de manip)
A ma connaissance, il est impossible de faire un "return" parce que le code ne peut pas être séquentiel en asynchrone. Il faut donc remplacer le alert par une deuxième fonction qui traite le responseText et répercute les modifications dans l'écran.
Marsh Posté le 06-11-2006 à 15:40:31
Je sais que je pourrais le faire avec un "innerHTML" par example, mais j'aimerais avoir l'expertise de plusieurs personnes, question de voir ce qui est possible.
Marsh Posté le 22-10-2006 à 22:53:57
Ajax gèle le navigateur parce qu'il est utiliser en asynchrone. Comment faire pour que la fonction stoppe après un délai? Parce que si la requête gèle le navigateur pendant plus de 5 secondes, c'est vraiment trop long.