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] XMLHttpRequest en parallèle


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 76
    Points : 61
    Points
    61
    Par défaut [AJAX] XMLHttpRequest en parallèle
    B'jour,

    je suis entrain d'essayer d'envoyer des requête XMLHttpRequest en parallèle, je fait bien un objet par requête, puis je les send à la suite.
    le problème, c'est que seule la dernière requête fonctionne correctement :s
    les autres vont dans la fonction onreadystatechange seulement jusqu'au stade state = 1.

    quelqu'un a déja eut ce problème?

    avec firebug, et un console.log([this.xhrs]);
    je peux insecter mon tableau de XMLHttpRequest, et la:
    1 - toutes les requêtes ont bien été exécuté. state = 4 et status = 200
    2 - la focntion onreadystatechange de chacun est à null, même pour la requête qui fonctionne...

    si vous voulez essayez de trouver un peu plus d'info: http://majx.info

    ps: vous aurez un bug si vous n'utilisez pas firebug.

    merci, Mathieu.
    2 n'est pas égal à 3, même pour de grandes valeurs de 2 ou de petites valeurs de 3

  2. #2
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Quoi ?? Encore ?? Le bug du tutoriel a encore frappé ??? Je pensais avoir déjà demandé mille fois qu'on le corrige pourtant.... ouin !!! Bon, j'ai pas regardé ta page mais je suis persuadé d'avoir mis la main sur la problème, rien qu'avec les symptomes que tu as décris ici... Supprime la fonction getXhr et remplace la par ce code-ci :

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    // Renvoie le texte de l'objet ActiveXObject le plus récent depuis une liste
    var pickRecentProgID = function (idList){
    	// found progID flag
        var bFound = false;
        for(var i=0; i < idList.length && !bFound; i++){
            try{
                var oDoc = new ActiveXObject(idList[i]);
                o2Store = idList[i];
                bFound = true;
            }catch (objException){
                // trap; try next progID
            };
        };
        if (!bFound)
    		throw ("Aucun ActiveXObject n'est valide sur votre ordinateur, pensez à mettre à jour votre navigateur");
        idList = null;
        return o2Store;
    }
     
    // Retourne un nouvel objet XmlHttpRequest
    var GetXmlHttpRequest_AXO=null
    var GetXmlHttpRequest=function () {
    	if (window.XMLHttpRequest) {
    		return new XMLHttpRequest()
    	}
    	else if (window.ActiveXObject) {
    		if (!GetXmlHttpRequest_AXO) {
    			GetXmlHttpRequest_AXO=pickRecentProgID(["Msxml2.XMLHTTP.5.0", "Msxml2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"]);
    		}
    		return new ActiveXObject(GetXmlHttpRequest_AXO)
    	}
    	return false;
    }
     
    // Compatibilité avec le script du tutoriel AJAX (developpez.com)
    getXhr=GetXmlHttpRequest;
    Correction du reste du code (code générique) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function AJAXSub() {
        var xhr=getXhr();
        // ne rien changer à la suite
    }
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 76
    Points : 61
    Points
    61
    Par défaut
    bien, en fait le problème a été réglé autrement, j'ai tout réécrit et ça a marché

    enfin...

    merci pour ta réponse, je vais quand même changé ma méthode, on sais jamais
    2 n'est pas égal à 3, même pour de grandes valeurs de 2 ou de petites valeurs de 3

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

Discussions similaires

  1. [DEBUTANT] JSP AJAX XMLHttpRequest
    Par hardokin dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 19/08/2008, 16h06
  2. [AJAX] Ajax xmlhttpRequest : affichage d'un résultat dans une div
    Par kataboy dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 23/12/2007, 15h47
  3. [AJAX] Cherche Chat php / ajax / XMLHTTPRequest sans SQL
    Par fabien14 dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 25/02/2007, 12h23
  4. [ajax] XMLHttpRequest et formulaire(<input type='file'>)
    Par Are-no dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 23/08/2006, 20h22
  5. [AJAX] XMLHTTPREQUEST ne se met pas à jour :-/
    Par franckarts dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 04/08/2006, 18h11

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