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] Récupérer le résultat httpRequest dans une autre fonction


Sujet :

AJAX

  1. #1
    Membre averti Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Points : 436
    Points
    436
    Par défaut [AJAX] Récupérer le résultat httpRequest dans une autre fonction
    Bonjour à toutes et tous,

    Soit une fonction de calcul toute bête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function calcule(id_fournisseur){
    var prix = 10;
    var port = calcule_port(id_fournisseur);
    alert(port);
    var total = parseFloat(parseFloat(prix) + parseFloat(port));
    return total;
    }
    Le port se fait donc grâce à la fonction calcule_port que voici :

    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 calcule_port(id_fournisseur){
    var xhr = getXhr('text');
    var port = 0;
     
    xhr.onreadystatechange = function() { 
    	   if(xhr.readyState == 4 && xhr.status == 200) {
    		   port = xhr.responseText; 
                       alert(port); // affiche bien le montant du port
    	   }
    	return port;
    } 
    var data = "id_fournisseur="+id_fournisseur;
    xhr.open("GET", "xhr_calcule_port.php?"+data,true);
    xhr.send(null);	
    }
    La page xhr_calcule_port.php cherche dans la base le montant du port pour ce fournisseur et fait un echo du résultat.

    Le alert de la fonction calcule_port sort bien le montant correct du port. Donc le hhtpRequest et le php font bien le boulot.
    Par contre le "return port" ne va pas car la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var port = calcule_port(id_fournisseur);
    de la fonction calcule() me retourne "undefined".
    Voyez-vous pourquoi ?
    D'avance merci de votre aide.

  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
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonsoir,

    utilise la methode synchrone.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function calcule_port(id_fournisseur){
    var xhr = getXhr('text');
    var port = 0;
    var data = "id_fournisseur="+id_fournisseur;
    xhr.open("GET", "xhr_calcule_port.php?"+data,false);
    xhr.send(null);
    port = xhr.responseText;
    return port;
    }
    A+.

  3. #3
    Membre averti Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Points : 436
    Points
    436
    Par défaut
    CQFD !

    Bonjour, et merci beaucoup.
    C'est exactement ça.

    Je te souhaite une bonne soirée.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/03/2011, 21h17
  2. Réponses: 21
    Dernier message: 22/05/2008, 16h51
  3. Réponses: 1
    Dernier message: 04/11/2007, 15h03
  4. Récupérer la sortie standard dans une autre classe
    Par EvilAngel dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 22/12/2006, 17h15
  5. [AJAX] Récupérer paramètre sur POST dans une servlet
    Par _beber85 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 05/04/2006, 11h52

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