Précédent   Forum du club des développeurs et IT Pro > Webmasters - Développement Web > AJAX
AJAX Forum sur la programmation AJAX. Avant de poster : Cours AJAX, FAQ AJAX, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 07/12/2012, 17h53   #1
yo_haha
Membre du Club
 
Inscription : novembre 2008
Messages : 298
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 298
Points : 54
Points : 54
Par défaut Boucle sur des appels AJAX dépendants entre eux

Bonjour,

J'ai une liste avec N objets, côté client. N étant inconnu.
Je veux faire un traitement, côté serveur, sur chaque objet de cette liste.
Je ne peux faire le traitement de l'objet i+1 que si j'ai le retour du traitement de l'objet i.
Pour faire cela, je boucle sur la liste des objets et je fais un appel AJAX pour lancer le traitement de chaque objet.
Le problème est que la boucle continue à s'exécuter sans que le client ait reçu la réponse du serveur. Ce qui implique l'apparition d'erreurs puisque le traitement i+1 ne peut être lancé tant que la réponse du traitement i n'est pas arrivée.
Comment est-ce que je peux mettre la boucle en attente jusqu'à ce que le serveur envoie la réponse du traitement i ?

Cordialement.
yo_haha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2012, 14h58   #2
NoSmoking
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 5 105
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 5 105
Points : 8 821
Points : 8 821
Bonjour,
il te suffit de lancer la requête suivante quand tu as le retour de la précédente.
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2012, 17h51   #3
yo_haha
Membre du Club
 
Inscription : novembre 2008
Messages : 298
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 298
Points : 54
Points : 54
Oui mais il faut préciser à la boucle qu'elle doit attendre le retour i du serveur avant de lancer l'appel i+1. Je ne sais pas comment le faire en Javascript.
yo_haha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/12/2012, 18h30   #4
NoSmoking
Modérateur
 
Avatar de NoSmoking
 
Homme
Inscription : janvier 2011
Messages : 5 105
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2011
Messages : 5 105
Points : 8 821
Points : 8 821
C'est dans la fonction qui se trouve dans le "onsuccess" que tu relances la demande, tu ne fais dans ce cas pas une boucle mais tu gères un tableau d'objet à traiter et tant qu'il y a des objets à traiter tu recommences.

A lire cette discussion et l'exemple de principe que j'ai fourni http://www.developpez.net/forums/d11...-synchronisme/
NoSmoking est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 15h37.


 
 
 
 
Partenaires

Hébergement Web