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]Probleme de boucle


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Phenomenium
    Inscrit en
    Janvier 2004
    Messages
    185
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Janvier 2004
    Messages : 185
    Par défaut [AJAX]Probleme de boucle
    Bonjour.

    J'ai fais une fonction ajax, qui recoit un tableau de donnée à deux dimensions, et qui est cencé me changer le contenu de plusieur div dans ma page web.

    La fonction :
    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
     
    function ajaxTabSend(ajaxTab) 
    {
        if(document.all) 
            var XhrObj = new ActiveXObject("Microsoft.XMLHTTP");
        else 
            var XhrObj = new XMLHttpRequest();
     
    	for(i=0;i<ajaxTab.length;i++)
    	{
        	var content = document.getElementById(ajaxTab[i][3]);
        	if(ajaxTab[i][2] == "GET") 
    		{
            	if(ajaxTab[i][0] == 'null') 
    				XhrObj.open("GET", ajaxTab[i][1]);
    	    	else 
            		XhrObj.open("GET", ajaxTab[i][1]+"?"+ajaxTab[i][0]); 
       		}
    		else if(ajaxTab[i][2]== "POST") 
            	XhrObj.open("POST", ajaxTab[i][1]); 
        	XhrObj.onreadystatechange = function() 
    		{ 
            	if (XhrObj.readyState == 4 && XhrObj.status == 200) 
    				content.innerHTML = XhrObj.responseText ; 
    		}     
       		if(ajaxTab[i][2] == "GET") 
    			XhrObj.send(null);   
        	else if(ajaxTab[i][2] == "POST") 
    		{ 
      			XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); 
            	XhrObj.send(ajaxTab[i][0]);
        	}
    	}
    }
    Le tableau :

    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
     
    <script type="text/javascript">
    	var ajaxTab = new Array;
    	var ajaxTab1 = new Array;
    	var ajaxTab2 = new Array;
    	ajaxTab1[0] = 'suppTicker=0';
    	ajaxTab1[1] = 'functions.php';
    	ajaxTab1[2] = 'GET';
    	ajaxTab1[3] = 'rapport';
    	ajaxTab2[0] = 'rubrique=rubTicker';
    	ajaxTab2[1] = 'functions.php';
    	ajaxTab2[2] = 'GET';
    	ajaxTab2[3] = 'rubrique';
    	ajaxTab[0] = ajaxTab1;
    	ajaxTab[1] = ajaxTab2;
    </script>
    L'index 0 correspond aux données à traiter.
    L'index 1 correspond à la page à appeler.
    L'index 2 correspond à la methode utiliser.
    L'index 3 correspond à la div de destination.

    Le souci que j'ai c'est que la fonction marche tres bien lorsque je met un alert(..); au debut de la boucle, mais lorsque je le retire la fonction ne me change que la premiere div (sous ie je precise, sous firefox rien ne se passe)

    Est ce que quelqun peut me dire pourquoi ? si vous avez besoin d'autre precision dite le moi.

    Merci de votre aide

  2. #2
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par défaut
    oui la ca va etre compliqué de faire comme ça pour plusieurs raisons.

    Tu balance des appels successifs, le deuxieme peut arriver avant le premier.
    Ton content n'a pas la portée necessaire pour être vu par ton onreadystatechange, ie est gentil mais il s'embrouille car que vaut content au moment ou xhr réagit ?

  3. #3
    Membre confirmé Avatar de Phenomenium
    Inscrit en
    Janvier 2004
    Messages
    185
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Janvier 2004
    Messages : 185
    Par défaut
    Effectivement je ne vais pas m'en sortir de cette maniere tu as raison.
    Il me faudrais une fonction mieux construite pour gérer cela.
    Je vais y reflechir merci

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

Discussions similaires

  1. [AJAX]probleme HTTPRequest
    Par GTJuanpablo dans le forum Général JavaScript
    Réponses: 19
    Dernier message: 12/02/2006, 11h24
  2. Probleme de boucle avec des processus sous UNIX
    Par sebastieng dans le forum POSIX
    Réponses: 6
    Dernier message: 15/10/2005, 18h57
  3. [Language]Problème de boucle
    Par marc_dd dans le forum Langage
    Réponses: 11
    Dernier message: 06/10/2005, 14h24
  4. Problem de boucle.....
    Par skad dans le forum C++
    Réponses: 6
    Dernier message: 29/09/2005, 16h28
  5. [C#] Probleme de boucle for et random
    Par Freeman166 dans le forum Windows Forms
    Réponses: 7
    Dernier message: 09/01/2005, 14h34

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