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 :

Impossible de recevoir une simple chaîne de caractère avec $.post


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2012
    Messages : 69
    Par défaut Impossible de recevoir une simple chaîne de caractère avec $.post
    Bonjour,


    je n'arrive pas à recevoir en retour d'une fonction $.post une simple chaîne de caractère, mais par contre je la recupère correctement avec la fonction alert.


    voici le code client:
    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
    <script>
    		$(document).ready(function(){
    		    $("#envoyer").click(function(){
    					$("#envoi").html("<b>Envoi du message...</b>");
    					var nom = $("#nom").val();
    					var prenom = $("#prenom").val();
    					var message = $("#texte").val();
    		        $.post("addMessage.php",
    			        {
    			          nom,
    								prenom,
    			          message
    			        }, function (data)
    								{
    									//alert (data);
    									$("#envoi").hmtl(data);
    								}
    		    		);
    				});
     
    				$("#recevoir").click(function(){
    					$("#recu").html("<b>Chargement des messages...</b>");
    		        $.post("getMessages.php",
    			        {
     
    			        }, function (data)
    								{
    									//alert (data);
    									$("#recu").html(data);
    								}
    		    		);
    				});
     
    		});
    </script>
    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
    16
    <form method="post" action="">
    	        	<p>Quelle est votre avis sur mes prestations</p>
    	        		<p>
    								<table>
    		            	<tr>
    											<td>Nom : <input type="text" name="nom" id="nom" /></td>
    											<td>Prénom : <input type="text" name="prenom"
    													id="prenom" /></td>
    									</tr>
    								</table>
    		            Message :<br />
    		            <textarea name="message" id="texte" rows="8" cols="35"></textarea><br />
    		            <button type="submit" value="Envoyer" id="envoyer">Envoyer</button>
    								<p id="envoi"></p>
    	        		</p>
    	    		</form>

    voici le code serveur:
    Code php : 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
    43
    44
    45
    <?php
     
     
      try{
            $bdd = new PDO('mysql:host=localhost;dbname=database;charset=utf8',
              'user','pwd',array(PDO::ATTR_PERSISTENT => true));
          } catch ( Exception $e){
              die("Impossible de se connecter : " . $e->getMessage());
          }
     
      try{
            $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
            $bdd->beginTransaction();
     
            if ( isset($_POST['nom']) AND isset($_POST['prenom'])
                AND isset($_POST['message'])){
                $nom = htmlspecialchars($_POST['nom']);
                $prenom = htmlspecialchars($_POST['prenom']);
                $message = htmlspecialchars($_POST['message']);
                $message = nl2br($message);
              }
     
     
                $req_insert = $bdd->prepare('INSERT INTO messages( first_name, second_name,
                    message) VALUES ( :nom, :prenom, :message)');
     
                $req_insert->execute(array(
                  'nom' => $nom,
                  'prenom' => $prenom,
                  'message' => $message
                ));
     
                $bdd->commit();
     
          } catch ( Exception $e){
              $bdd->rollBack();
              die ("Impossible d'insérer le message" . $e->getMessage());
     
          }
     
          //$bdd->close();
     
          echo "<b>merci pour votre commentaire</b>";
     
     ?>


    merci pour votre aide.

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par défaut
    Bonjour,
    dans cette partie de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $.post('addMessage.php', {
        nom,
        prenom,
        message
    }
    tu n'as pas l'impression que tu oublies les valeurs de tes clés !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $.post('addMessage.php', {
        nom : valeur_nom,
        prenom: valeur_prenom,
        message: valeur_message
    }

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2012
    Messages : 69
    Par défaut
    merci pour ta réponse, non je n'ai pas oublié voici la fonction complète:

    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
    $("#envoyer").click(function(){
    					$("#envoi").html("<b>Envoi du message...</b>");
    					var nom = $("#nom").val();
    					var prenom = $("#prenom").val();
    					var message = $("#texte").val();
    		        $.post("addMessage.php",
    			        {
    			          nom,
    								prenom,
    			          message
    			        }, function (data)
    								{
    									//alert (data);
    									$("#envoi").prepend(data);
    								}
    		    		);
    				});

  4. #4
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 211
    Par défaut
    non je n'ai pas oublié voici la fonction complète:
    relis bien les codes que j'ai fournis, le 1st c'est le tien le 2nd la forme qu'il devrait avoir.

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2012
    Messages : 69
    Par défaut
    je confirme que cette syntaxe fonctionne, je vois mes données dans la base de donnée.

    mon problème, c'est que le retour du code serveur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<b>merci pour votre commentaire</b>";
    ne s'affiche pas côté client dans mon page html, mais si j'utilise la console javascript alors j'obtiens la bonne réponse.

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2012
    Messages : 69
    Par défaut
    pour finir j'ai essayé en changeant le code:

    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
     
    var nom_value = $("#nom").val();
    					var prenom_value = $("#prenom").val();
    					var message_value = $("#texte").val();
    					$.post("addMessage.php",
    						{
    							nom : nom_value,
    							prenom : prenom_value,
    							message : message_value
    						}, function (data)
    							{
    								//alert (data);
    								$("#envoi").prepend(data);
    							}
    					);
    mais ça ne fonctionne toujours pas.

  7. #7
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Février 2012
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Février 2012
    Messages : 69
    Par défaut
    j'ai essayé de coller ce code dans l'ardoise javascript :

    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
     
    $("#envoi").html("<b>Envoi du message...</b>");
    					var nom_value = $("#nom").val();
    					var prenom_value = $("#prenom").val();
    					var message_value = $("#texte").val();
    					$.post("addMessage.php",
    			        {
    			          nom : nom_value,
    								prenom : prenom_value,
    			          message : message_value
    			        }, function (data)
    								{
    									//alert (data);
    									$("#envoi").html(data);
    								}
    		    		);
    si je lance l’exécution le texte est affiché correctement. Mais si je presse le button depuis la page html, le texte n'est pas affiché.
    Je ne comprends pas pourquoi.

Discussions similaires

  1. [FAQ] Comment tester une chaîne de caractères avec une expression régulière ?
    Par Baptiste Wicht dans le forum Vos Contributions VBScript
    Réponses: 1
    Dernier message: 20/11/2007, 19h43
  2. Réponses: 2
    Dernier message: 16/07/2007, 13h46
  3. Réponses: 7
    Dernier message: 27/04/2007, 10h01
  4. Réponses: 9
    Dernier message: 21/02/2007, 13h20
  5. Extraction d'une chaîne de caractère avec SQL
    Par opeo dans le forum MS SQL Server
    Réponses: 13
    Dernier message: 28/07/2006, 15h36

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