Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 4 sur 4
  1. #1
    Membre du Club
    Inscrit en
    novembre 2008
    Messages
    305
    Détails du profil
    Informations forums :
    Inscription : novembre 2008
    Messages : 305
    Points : 61
    Points
    61

    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.

  2. #2
    Modérateur
    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    janvier 2011
    Messages
    7 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : janvier 2011
    Messages : 7 754
    Points : 14 650
    Points
    14 650

    Par défaut

    Bonjour,
    il te suffit de lancer la requête suivante quand tu as le retour de la précédente.

  3. #3
    Membre du Club
    Inscrit en
    novembre 2008
    Messages
    305
    Détails du profil
    Informations forums :
    Inscription : novembre 2008
    Messages : 305
    Points : 61
    Points
    61

    Par défaut

    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.

  4. #4
    Modérateur
    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    janvier 2011
    Messages
    7 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : janvier 2011
    Messages : 7 754
    Points : 14 650
    Points
    14 650

    Par défaut

    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/

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •