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] return d'une requête ajax


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Pymento
    Homme Profil pro
    Ingé. Info.
    Inscrit en
    Janvier 2008
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingé. Info.

    Informations forums :
    Inscription : Janvier 2008
    Messages : 366
    Par défaut [AJAX] return d'une requête ajax
    Bonjour, je souhaiterai, pour avoir une fonction générique, pouvoir faire ça:

    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
     
    function ajaxSelect(id,type){
    	var xhr = getXhr()
    	var retour;
     
    	xhr.onreadystatechange = function(){
     
    		if(xhr.readyState == 4 && xhr.status == 200){
    			retour = xhr.responseXML.documentElement.getElementsByTagName("message")[0].firstChild.nodeValue;
                            alert(retour);
    			return retour;
    		}
    	}
    	xhr.open("GET","PhpAjax_Select.php?id="+id+"&type="+type,true);
    	xhr.send(null);
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function test(){
    	var v = ajaxSelect(2,0);
    	alert(v);
    }
    Hors, mon 'alert(v) me renvoie undefined(contrairement à 'alert(retour))
    J'imagine que c'est une histoire asynchrone synchrone ou quelques chose qui ne me permet pas de faire de return.
    Mais Pourquoi ? et quelle est la solution pour finalement avoir une fonction ajax qui se chargerai juste de renvoyer du contenu sans le traiter.

    Merci d'avance.

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonsoir,

    C'est normale parce que tu travailles en mode asynchrone, au moment ou tu faits alert(v), la requête ajax n'est pas encore terminé.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function ajaxSelect(id,type){
    	var xhr = getXhr()
    	var retour;
    	xhr.open("GET","PhpAjax_Select.php?id="+id+"&type="+type,false);
    	xhr.send(null);
    	retour = xhr.responseXML.documentElement.getElementsByTagName("message")[0].firstChild.nodeValue;
    	return retour;
    }
    A+.

  3. #3
    Membre éclairé Avatar de Pymento
    Homme Profil pro
    Ingé. Info.
    Inscrit en
    Janvier 2008
    Messages
    366
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingé. Info.

    Informations forums :
    Inscription : Janvier 2008
    Messages : 366
    Par défaut

    Merci, c'est bien ça, j'avais essayé de changer seulement le true en false, mais pas enlever le 'onreadystatechange'.

    Encore merci, je passe ça en résolu

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

Discussions similaires

  1. [AJAX] Envoie d'une requête AJAX
    Par tidus_6_9_2 dans le forum AJAX
    Réponses: 16
    Dernier message: 14/04/2010, 15h23
  2. [Prototype] [AJAX] Exécuter une fonction javascript via une requête AJAX et innerHTML
    Par Invité dans le forum Bibliothèques & Frameworks
    Réponses: 2
    Dernier message: 01/05/2009, 04h36
  3. [AJAX] positionnement dans la page suite à une requête Ajax
    Par Ascella dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 30/12/2008, 19h10
  4. [Prototype] TinyMCE et autres lib dans une requête ajax
    Par metos256 dans le forum Bibliothèques & Frameworks
    Réponses: 2
    Dernier message: 03/03/2008, 11h25
  5. [AJAX] Réponse d'une requête xmlhttp
    Par odissey dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 06/09/2006, 12h01

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