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

AJAX Discussion :

[AJAX] Retour sur onreadystatechange


Sujet :

AJAX

  1. #1
    Membre confirmé
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2008
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 141
    Par défaut [AJAX] Retour sur onreadystatechange
    Bonjour,

    je debute en AJAX et je me heurte a un probleme... En effet, je n'arrive pas a retourner un tableau créé a partir de la reponse du PHP! Ci-dessous mon code pour que cela soit plus parlant :

    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
     
    function getIndividus() {
     
    	var xhr = creerXHR();
    	var indiv = new Array();
     
    	xhr.onreadystatechange = function() {
     
    		if (xhr.readyState == 4) {
     
    			if (xhr.status == 200) {
     
    				var docXML= xhr.responseXML;
    				var items = docXML.getElementsByTagName("individu");
     
     
    				for (var i = 0; i < items.length; i++) {
     
    					var fils = items.item(i).childNodes;
    					var tmp = new Array();
    					var indice = 0; 
    					for (var j = 0; j < fils.length; j++) {
     
    						if (fils[j].nodeName != "#text") {
     
    							tmp[indice] = fils[j].firstChild.data;
    							indice++;
     
    						}
     
    					}
    					var ind = new individu();
    					ind.num = tmp[0];
    					ind.eval = tmp[1];
    					ind.a = tmp[2];
    					ind.b = tmp[3];
    					ind.chromosome = tmp[4];
    					indiv[i] = ind;	
    					alert("i = "+i);
    				}
     
    				alert(indiv[0].num);
     
    			} 	
     
    		} 
     
    	}
     
    	xhr.open("GET", "http://monsite/mapage.php", true);
    	xhr.send(null);
                return indiv;
    lorsque je fais le alert dans le onreadystatechange j'ai bien la bonne valeur, cependant le return ne semble pas fonctionner. En effet lorsque je fais appel a cette fonction c'est comme si je ne recevais rien en retour du fais de la fonction du "onreadystatechange" dans la fonction getIndividus() je suppose.

    Cependant je voudrais savoir s'il est possible et si oui comment faire pour retourner ma valeur?

    merci d'avance

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Février 2009
    Messages : 354
    Par défaut
    ba en faite c'est le principe des requêtes asynchrone. Elles s'exécutent en parallèle de ton programme. Donc quand tu lance t'as requête le programme continue, et te renvoie un tableaux vide.Essaye le mode synchrone sinon

  3. #3
    Membre confirmé
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2008
    Messages
    141
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 141
    Par défaut
    Merci pour ta reponse je n'avais pas bien saisis cela! Je dois donc faire appel a une fonction avec mon tableau directement depuis le "onreadystatechange" en gros? Car le mode synchrone ne me convient pas puisque je suis entrain de m'essayer a l'AJAX!

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Février 2009
    Messages : 354
    Par défaut
    ba faut juste que tu traite tout ce que tu as à traiter dans ta fonction, donc pas de return

Discussions similaires

  1. JQuery / Ajax gérer le retour sur le success
    Par 69Pierre dans le forum jQuery
    Réponses: 6
    Dernier message: 19/11/2015, 16h53
  2. [AJAX] Retour ResponseText sur plusieurs lignes
    Par hornetbzz dans le forum AJAX
    Réponses: 9
    Dernier message: 04/03/2010, 16h40
  3. Réponses: 2
    Dernier message: 04/05/2009, 09h59
  4. php et ajax : actualisation select si retour sur page
    Par pascale86 dans le forum Langage
    Réponses: 4
    Dernier message: 08/02/2008, 20h11
  5. [INFOS][AJAX]Retour d'expérience
    Par SEMPERE Benjamin dans le forum Servlets/JSP
    Réponses: 17
    Dernier message: 28/09/2006, 16h43

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