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 :

JQuery / Ajax gérer le retour sur le success


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Par défaut JQuery / Ajax gérer le retour sur le success
    Bonjour.
    J'ai une requete SQL qui me renvoie une liste déroulante (pHp).
    J'ai fait des boutons pour que lors du clic, cette liste soit modifiée.
    Jquery et Ajax récupérent les infos, les transforment au format json, php envoie une nouvelle requête mysql, Jquery et Ajax récupérent le résultat (je le voie dans Firebug / Console / GET.... / onglet HTML mais je n'arrive pas à ce que l'affichage soit changé. D'ailleurs, j'ai fait un console.log ('\n je rentre dans success'); qui ne s'affiche pas, je ne sais pas gérer ce retour dans le success.
    Merci de votre aide.
    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
    40
    41
    42
    $(document).ready(function(){
    console.log('entre dans choixListe \n ');
     
    	//au click sur le bouton
    	$('.choixliste').click(function() {
     
    	    var arrayId = $(this).attr('id').split('_');
     
    		tableParcours = arrayId[1];
    		sport = arrayId[2];
    		frequence = arrayId[3];
     
    		console.log("\n Les arguments sont : "+arrayId[1]+", "+arrayId[2]+" et "+arrayId[3]);
    		console.log("\n Les arguments sont : "+tableParcours+", "+sport+" et "+frequence);
     
    	    // Valeur par défaut pour les paramètres optionnels
    		if( typeof(sport) == 'undefined' ){
    			sport = "";
    		}
    		if( typeof(frequence) == 'undefined' ){
    			frequence = "";
    		}
     
    		$.ajax({
    		type : "GET",
    		url: './BDD/liste.php',
    		dataType: "json",
    		data : {tableParcours : tableParcours, sport : sport, frequence : frequence},
    		success: function (data) {
     
    			console.log ('\n je rentre dans success');
    			console.log (data);
    			console.log (tableParcours);
    			console.log (sport);
    			console.log (frequence);
     
    			$('#liste').html( data);//, tableParcours, sport, frequence );
    			}
    	//console.log(html( data, tableParcours, sport, frequence ));
    		});
    	});
    });
    Le bout de code qui est issu de ce qu'il y a ci-dessus est bien construit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <SELECT name="nom"><option value="1-Tl2">Tl2</option></SELECT>
    Je veux qu'il remplace le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php $tableParcours='parcours'; require_once ('/Projet/Serveur/data/localweb/Projet/BDD/liste.php');?>
    de mon dOM contenu dans Est ce que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('#liste').html( data);
    est le bon code pour faire ceci ?

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Par défaut
    Bon j'ai trouvéle problème.
    J'ai un id dans une balise td et jquery n'en veut pas : Du coup je l'ai remplacée par un div mais ma mise en forme n'est plus bonne.
    Je ne sais pas comment faire.

  3. #3
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 209
    Par défaut
    Bonjour,
    Est ce que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('#liste').html( data);
    est le bon code pour faire ceci ?
    NON et simplement parce que tu demandes une réponse JSON dataType: "json" donc tu reçois un objet JSON et non du code HTML.

    D'ailleurs, j'ai fait un console.log ('\n je rentre dans success'); qui ne s'affiche pas, je ne sais pas gérer ce retour dans le success.
    regarde ce qui se passe dans .fail ou .error, qu'il te faut gérer/ajouter.

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Par défaut
    Merci.
    OK j'ai modifier et mis à la place de hier soir.
    Cela fonctionne si j'écris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="liste" ></div>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('#liste').html( data);

    Mais pas avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('#liste').html( data);
    Je ne sais pas gérer le td.

  5. #5
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 209
    Par défaut
    Ton problème ce situe visiblement ailleurs !
    essaie avec ce HTML
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <div id="choix">
      <select>
        <option>Un</option>
        <option>Deux</option>
        <option>Trois</option>
      </select>
    </div>
    <table>
      <tr>
        <td>Cellule #1</td>
        <td id="liste">Cellule #2</td>
        <td>Cellule #3</td>
      </tr>
    </table>
    <button>Ajax</button>
    le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $('button').on( 'click', function(){
      var simulAjax = $('#choix').html();
      $('#liste').html( simulAjax);
    });
    cela ne devrait pas poser de problème.

  6. #6
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Par défaut
    Bonjour et merci de ton aide.
    Non avec ton script, ça ne fonctionne pas non plus.
    Il y a un truc rigolo, c'est que lorsque je vais dans l'onglet HTML de Firebug, je ne vois pas mes td...
    Tu me confirmes bien que l'on peux mettre un id dans une balise <td> ?
    Ces <td> sont dans un <form>, il vaudrait mieux du <label>...

  7. #7
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2014
    Messages
    744
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2014
    Messages : 744
    Par défaut
    Ben oui, ça marche.
    Je m'excuse de cette erreur de jeunesse, pas de balise td dans les form, du label.
    Merci encore.

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

Discussions similaires

  1. [1.x] jQuery.ajax reussi une fois sur deux
    Par yochima dans le forum Symfony
    Réponses: 1
    Dernier message: 25/10/2011, 09h29
  2. Réponses: 4
    Dernier message: 26/09/2008, 12h14
  3. php et ajax : actualisation select si retour sur page
    Par pascale86 dans le forum Langage
    Réponses: 4
    Dernier message: 08/02/2008, 20h11

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