Partage
  • Partager sur Facebook
  • Partager sur Twitter

[jQuery] Faire sortir une variable de $.ajax

Sujet résolu
    26 février 2010 à 16:06:24

    Bonjour à tous !
    Voilà je suis débutant en javascript et j'ai quelque soucis avec une fonction (ajax) de jQuery.
    J'aimerais pouvoir faire sortir la variable msgLogin, de la fonction lié à "succes".
    Je précise que j'ai bien déclaré ma variable plus haut.

    var msgLogin = ''; 
    
    		if(msgLogin == ''){	
    			// Pseudo deja utilise							
    			$.ajax({
    			  url: 'check_register.php',
    			  data: 'type=login&value=' + t.value,
    			  dataType: 'html',
    			  type: 'get',
    			  error: function () {msgLogin += 'erreur';},
    			  success: function (data, msgLogin) {
    							  if(data >= 1){
    							  msgLogin = 'Pseudo d&eacute;j&agrave; utilis&eacute;.<br>';							  
    							  }		
    						}						
    			});			
    		}
    		
    		validationLogin.html(msgLogin);
    

    Merci d'avance et bonne journée :)
    • Partager sur Facebook
    • Partager sur Twitter
      26 février 2010 à 17:54:31

      Pouvoir l'utiliser à l'extérieur de la fonction en d'autres termes :)
      • Partager sur Facebook
      • Partager sur Twitter
        26 février 2010 à 18:04:32

        Appelle une autre fonction ?
        • Partager sur Facebook
        • Partager sur Twitter
          26 février 2010 à 18:07:06

          De toutes façons, tu peux l'utiliser à l'extérieur, vu que la variable est globale.
          • Partager sur Facebook
          • Partager sur Twitter
            26 février 2010 à 18:26:11

            Et bien justement, ça ne marche pas !
            La variable n'est pas mise à jour.
            • Partager sur Facebook
            • Partager sur Twitter
              26 février 2010 à 18:31:08

              Mais parce que tu l'appelles ligne 19, autrement dit juste après l'appel ajax... mais avant que l'appel ajax ne soit terminé.

              Il faut que tu mettes la ligne 19 entre les lignes 13 et 14.
              • Partager sur Facebook
              • Partager sur Twitter
                26 février 2010 à 19:29:19

                C'est pas exactement la réponse à ma question mais ça marche aussi : merci à toi Golmote ! :)
                • Partager sur Facebook
                • Partager sur Twitter
                  26 février 2010 à 19:32:03

                  Bah de toutes façons, y'a pas d'autres réponses.

                  L'ajax étant asynchrone, tu es obligé d'attendre la réception de la réponse pour attribuer une valeur à ta variable (dans la fonction 'success').
                  Donc pour utiliser la variable ainsi initialisée, tu n'as pas d'autres choix que d'appeler ta fonction au même endroit. ^^
                  • Partager sur Facebook
                  • Partager sur Twitter
                    17 juin 2010 à 15:37:22

                    Bonjour à vous,

                    Je me permet de m'insérer dans votre discution car j'ai un peu près le même souci.
                    J'utilise une requête Ajax pour effectuer une validation de formulaire. Je ne rentre pas dans les détails mais j'ai également besoin de "sortir" une variable de ma fonction lancéé par "success" pour justement valider ou non mon formulaire.

                    Voila un petit bout de code simplifié pour vous illustrer la chose :
                    valid='';
                    Ext.Ajax.request( url: 'page.php' params{task:"VERIFFRM"},
                    	success: function(response){
                    		chaine = response.responseText;
                    		valid = 'true';
                    		if (chaine == '')
                    			valid = 'false';
                    	},
                    	failure : function() {
                    		Ext.MessageBox.alert("Echec");
                                    valid="false";
                    	}
                    });
                    
                    //Test sur ma variable "valid"
                    if (valid='true')
                            return true;
                    else
                    	return false;
                    


                    D'avance merci.
                    • Partager sur Facebook
                    • Partager sur Twitter

                    [jQuery] Faire sortir une variable de $.ajax

                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                    • Editeur
                    • Markdown