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

jQuery Discussion :

Deuxième requête Ajax ne s’exécute pas


Sujet :

jQuery

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur Back-End
    Inscrit en
    Mai 2015
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Mai 2015
    Messages : 93
    Points : 79
    Points
    79
    Par défaut Deuxième requête Ajax ne s’exécute pas
    Bonjour,
    Je suis nocive dans le JS et particulièrement avec Jquery.
    J'ai une menu déroulant "Connexion" qui affiche un formulaire directement au niveau du menu.
    Nom : e12df52763.jpg
Affichages : 99
Taille : 58,0 Ko
    J'utilise de l'Ajax pour procéder a la connexion (Session, ...) et j'utilise .load pour recharger le php de la div du menu.
    Jusque la tout va bien, la div est rechargé, et je peux accéder a mon profil et a la déconnexion.
    Nom : 2d552e2b43.jpg
Affichages : 81
Taille : 24,2 Ko

    Le problème c'est que si je clique juste après mettre connecté, sur le bouton déconnexion , l'Ajax de la déconnexion ne s’exécute pas... Il faut que je recharge la page (F5) pour que je puisse me déconnecter. Et vise versa, si je me déconnecte, je ne peux plus me reconnecter...

    Voila le code. N'hésitez pas a me dire si il y un meilleur moyen

    Jquery/Ajax
    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
     
    <script>
    	function refresh_div(iddiv){
    		$("#"+iddiv).load(location.href + " #"+iddiv);
    	}
     
        $("#conn_menu").click(function(){
        	var username = $("#username").val();
        	var password = $("#password").val();
        	if(username != "" && password != ""){
    	        $.post(
    	            'process/process_login.php',
    	            {
    	                username : username, 
    	                password : password
    	            },
    	            function(data){
    	            	if(data == "Success"){
    	                	swal("Félicitation", "Tu es maintenant connecté !", "success");
    	                	refresh_div("refresh_user");
    	                }  else
    	                	swal("Erreur", ""+data+"", "error");
    	            },
    	            'text'
    	        );
    	    } else {
    	        swal("Erreur", "Vous devez remplir les champs", "error");			    	
    	    }
        });
        $("#logout").click(function(){
            $.ajax({ 
            	url: 'process/process_logout.php',
    	        success: function(output) {
                    swal("Félicitation", "Tu es maintenant déconnecté !", "success");
    	            refresh_div("refresh_user");
    	        }
    		});
        });
    </script>
    Pour le bouton déconnexion, c'est un simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <li><a href="#" id="logout">Déconnection</a></li>

    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    il faut "accrocher" les instructions à une balise déjà existante dans le DOM AVANT tout appel Ajax.
    ex. : remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        $("#conn_menu").click(function(){
    ...
     
        $("#logout").click(function(){
    ...
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        $('#mon_menu').on( 'click', '#conn_menu', function(){
    ...
     
        $('#mon_menu').on( 'click', '#logout', function(){
    ...
    où #mon_menu existe dans le DOM AVANT tout appel Ajax.

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur Back-End
    Inscrit en
    Mai 2015
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Mai 2015
    Messages : 93
    Points : 79
    Points
    79
    Par défaut
    Merci beaucoup !
    J'ai mis 'document' a la place de l'ID_menu

  4. #4
    Invité
    Invité(e)
    Par défaut
    Pense à cliquer ci-dessous

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 07/05/2016, 09h11
  2. Réponses: 3
    Dernier message: 25/01/2014, 14h00
  3. [AJAX] Requête AJAX ne renvoie pas de résultat
    Par Akim13 dans le forum jQuery
    Réponses: 0
    Dernier message: 28/05/2013, 15h05
  4. [Débutant] la requête update ne s’exécute pas
    Par nouass dans le forum ASP.NET
    Réponses: 1
    Dernier message: 12/04/2013, 17h11
  5. [Prototype] Requête Ajax ne passe pas avec des points d'interrogation
    Par Romalafrite dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 09/12/2007, 22h31

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