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 :

Comment faire un return


Sujet :

AJAX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 167
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 167
    Par défaut Comment faire un return
    Bonjour à tous

    J'ai une fonction et j'aimerais qu'elle me retorune une valeur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function test(val){
    return val
    }
    Jusqu'à là, rien de compliqué

    J'utilise ajax pour faire une requete sur une page qui va extraire des éléments d'une base de donnée.
    Dans une variable je stocke le nombre de valeurs.

    J'aimerais que mon alert affiche 2 (mais pas 1)
    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
     
    alert(getTrace());
    function getTrace(hours){
     
      $.ajax({
        type: "POST",
        url: "maps/get.php",
        data:{h:hours}, // Send parameter to get.php
        success: result,
        error: error,
        dataType: "json"
      });
     
     // return 1
      function error(data)
      {
        alert("Error");
        console.log("Error");
        console.log(data);
      }
     
      function result(data){
       [... code...]
        nb_trace = 2; 
        return nb_tarce;
     
     
        }
     
    };
    Simplement, voilà, ca ne marche pas.
    Je pense que parce que return 2 est dans la fonction result(data) et que 2 est retourné par result() et pas par getTrace().
    Etant donné que result() est le résultat de la requete ajax, comment je peux passer le return de result() dans getTrace(), un peu comme si test(value) était dans getTrace().

    Voyez-vous ma question?

    Milles mercis

  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
    Bonjour,

    Parce que, par défaut, une requête AJAX est asynchrone, donc n'attend le retour du serveur pour que les instructions qui le suivent s'exécutent.

    A+.

Discussions similaires

  1. Comment faire un return de plusieurs ArrayList
    Par Mides dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 15/04/2012, 18h31
  2. Pointeur intelligent boost : return NULL ->comment faire?
    Par choinul dans le forum Bibliothèques
    Réponses: 7
    Dernier message: 21/12/2005, 16h24
  3. [Syntaxe] Un return dans un try... Comment faire ?
    Par chuky dans le forum Général Java
    Réponses: 13
    Dernier message: 14/01/2005, 10h33
  4. Comment faire pour mettre l'ecran en veille ?
    Par March' dans le forum MFC
    Réponses: 6
    Dernier message: 29/08/2002, 14h25
  5. Comment faire pour créer un bitmap
    Par GliGli dans le forum C++Builder
    Réponses: 2
    Dernier message: 24/04/2002, 15h41

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