IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[AJAX] Plusieurs requêtes en même temps


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2007
    Messages : 50
    Points : 53
    Points
    53
    Par défaut [AJAX] Plusieurs requêtes en même temps
    Bonjour à tous,

    je rencontre le problème suivant:
    j'ai créé une page avec plusieurs boutons qui chacun appelle un script PHP via une fonction javascript; cela affiche des infos supplémentaires pour une ligne d'un tableau. Pas de problèmes. J'ai ajouté un bouton qui simule un clic sur chacun de ces boutons, pour éviter à l'utilisateur de cliquer sur x boutons si il veut toutes les infos sur tous les enregistrements. Et là, problème: seul le dernier bouton, parfois l'avant-dernier ou encore les deux derniers, sont "cliqués".
    Par contre l'opération inverse marche très bien (vider le contenu de tous mes <div> d'un coup; mais ça ne fait appel qu'à du Javascript).

    Pour que cela soit plus clair, j'ai mis un exemple simplifié sur mon site:
    http://www.interdoc.ch/bugjs.php

    Voilà... Si vous avez un peu de temps pour me dépanner... merci d'avance !!
    Mrc

  2. #2
    Membre confirmé Avatar de d-Rek
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2007
    Messages : 438
    Points : 455
    Points
    455
    Par défaut
    Il n'est pas bon de faire un grand nombre de XHR "simultanées".
    Centralise les en une et ensuite découpe ta réponse pour chaque partie que tu souhaites rafraichir.

  3. #3
    Membre habitué
    Inscrit en
    Septembre 2007
    Messages
    169
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 169
    Points : 149
    Points
    149
    Par défaut
    Si t'as qu'un seul objet window.XMLHttpRequest, c'est normal. Il aura pas le temps de recevoir la requete que tu vas le réassigner avec une nouvelle valeur et une nouvelle requete.
    Il faudrait travailler avec un table de xhr.
    Cartes Pokémon, Yugioh, Magic ?
    Communauté d'échange

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2007
    Messages : 50
    Points : 53
    Points
    53
    Par défaut
    Citation Envoyé par kangaxx Voir le message
    Si t'as qu'un seul objet window.XMLHttpRequest, c'est normal. Il aura pas le temps de recevoir la requete que tu vas le réassigner avec une nouvelle valeur et une nouvelle requete.
    Ouais, j'avais pensé à un truc comme ça parce que le comportement de mon script à l'air un peu aléatoire...

    Citation Envoyé par kangaxx Voir le message
    Il faudrait travailler avec un table de xhr.
    J'avoue que je ne comprends pas exactement ce que cela veut dire... Peux-tu me donner un petit indice ?

    Merci !

  5. #5
    Membre habitué
    Inscrit en
    Septembre 2007
    Messages
    169
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 169
    Points : 149
    Points
    149
    Par défaut
    Et bien tout simplement au lieu d'avoir une seul variable xhr, tu prend un tableau de 4 cases dans ton cas, et dans chaque case contient un new activex. Chaque bouton n'utilisera qu'une seule instance comme cela. Le 1er bouton le xhr de la 1ere case, le 2eme la 2eme case,...

    Ca devrait marcher sans écraser tes autres requetes.
    Cartes Pokémon, Yugioh, Magic ?
    Communauté d'échange

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2007
    Messages : 50
    Points : 53
    Points
    53
    Par défaut
    Bon, j'ai bien essayé de faire un tableau de XHR, mais je dois me planter quelque part. Mais dans l'idée, c'est comme ça qu'il faut faire, non ?
    Normalement je n'ai pas 4 éléments, mais plutôt 200.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    <script language="javascript">
                var xhr = new array(); 
     
    function getXhr(idvue)
    	{
    	if(window.XMLHttpRequest)
    	xhr[idvue] = new XMLHttpRequest(); 
    	else if(window.ActiveXObject)
    	{
               	try
    	{ 
    	xhr[idvue] = new ActiveXObject("Msxml2.XMLHTTP"); 
    	}
    	catch (e)
    	{ 
            xhr[idvue] = new ActiveXObject("Microsoft.XMLHTTP"); 
                  } 
    } 
    else
    {
    alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
    xhr[idvue] = false; 
    } 
    }

  7. #7
    Membre confirmé Avatar de d-Rek
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2007
    Messages : 438
    Points : 455
    Points
    455
    Par défaut
    J'aurai dit plutôt de récupérer en 1 seul xhr, l'ensemble des réponses et de les rebalancer à JS sous forme de JSON.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2007
    Messages : 50
    Points : 53
    Points
    53
    Par défaut
    Bon, j'ai trouvé une manière de faire qui me semble jouer...
    http://www.digitalbonsai.com/?itemid=5. Heureusement, parce que tout le reste me semblait trop compliqué pour moi, je ne suis pas un grand amateur de Javascript...

    Merci pour l'aide !

    MRC

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

Discussions similaires

  1. [MySQL] Verifier plusieurs requêtes en même temps.
    Par kurt225 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 21/02/2014, 11h21
  2. [AC-2007] Affichage de plusieurs requête en même temps
    Par ALEX80800 dans le forum Access
    Réponses: 2
    Dernier message: 21/11/2011, 17h19
  3. [AJAX] plusieurs requêtes en même temps
    Par martvefun dans le forum AJAX
    Réponses: 1
    Dernier message: 01/06/2010, 08h19
  4. [MySQL] Faire plusieurs requêtes en même temps
    Par johnson95 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 17/02/2010, 14h32
  5. Exécuter plusieurs requêtes en même temps
    Par k_boy dans le forum Bases de données
    Réponses: 9
    Dernier message: 21/02/2008, 12h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo