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 :

Requête ajoute un retour chariot et un tab non désiré [AJAX]


Sujet :

jQuery

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 19
    Points : 8
    Points
    8
    Par défaut Requête ajoute un retour chariot et un tab non désiré
    Bonjour à vous (^_^)/,

    J'ai un champ qui demande un nom de "thème" avec un bouton "Valider" pour ajouter un nouveau "thème" à ma base de données.
    Quand on clic sur le bouton, une popup apparaît pour dire si le thème a pu être ajouté ou non. La popup est faite avec bootstrap et ses class "modal".
    J'effectue une requête en jQuery avec .ajax pour aller faire un insert dans ma table. En fonction de si le nom est correct ou pas, je fais un echo "ok" ou "pas ok" en gros. Puis dans le success je fais un traitement en fonction de ce message de retour.
    Malheureusement, en faisant un console.log(reponse), je me suis rendu compte que la requête m'ajoute un retour chariot et un tab pour visiblement aucune raison. Ce qui me pose un soucis pour le if.

    Je vous laisse voir ma requête .ajax :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $("#ajouterTheme").click(function(){
    	$.ajax({
    		method: "POST",
    		url: "requete/creer_question_ajouter_theme.php",
    		data: { nomTheme : $("#nomTheme").val() },
    		success: function (reponse) {
    			console.log(reponse);
    			if(reponse == "ok") {
    				$("#modalTheme .modal-body").text("Le thème a été ajouté avec succès");
    			}
    		},
    	});
    });
    Dans ma page où je fais ma requête SQL, je fais juste un "echo -2" (par exemple) pour isoler le problème. Mais même en renvoyant un nombre j'ai ça comme résultat :
    "
    -2"

    J'ai fait plusieurs tests, en renvoyant par exemple "echo trim('ok')" mais cela ne change rien. J'ai alors déduis que le echo n'était pas responsable.
    J'ai aussi remarqué que sur toutes mes autres pages, partout où j'ai mis un echo -1 en cas de problème, cela me provoque le même problème.

    Si quelqu'un pourrait m'expliquer le pourquoi du comment s'il vous plaît ^^. Je pense que je loupe un truc tout bête, mais en effectuant des recherches comme ".ajax + retour chariot", je tombe que sur des personnes qui cherchent à renvoyer des retours chariots ^^''.. soit tout l'inverse de mon problème. Désolé si le problème a déjà été traité je suis pas tombé dessus ^^'.

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

    1- JS - trim()

    2- Sans voir le code du fichier PHP, on ne peut rien dire de plus.
    Il y a certainement des espaces et passages à la ligne dans le HTML généré.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    ...
    ?>
     
    <?php
    ...
    ?>
    Ça suffit pour générer un passage à la ligne.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 19
    Points : 8
    Points
    8
    Par défaut
    Bonjour,

    Non mais je suis débile.. en fait j'appuyais sur le bouton sans rien mettre dans mon champs TuT.... et comme dans le .ajax je mets la valeur du champs.. j'ai pas beaucoup dormis ces derniers temps je fais pas trop gaffe. Désolé je voulais pas perdre du temps inutilement sur un problème dont je ne comprenais pas son origine.

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 19
    Points : 8
    Points
    8
    Par défaut
    Bon en fait, je suis pas si débile que ça. Le problème s'est résolu uniquement avec la requête qui demandait un paramètre.
    Cependant, avec cette requête par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $.ajax({
    	method: "POST",
    	url: "requete/question_tableau.php",
    	success: function (tableau) { 
            console.log(tableau);
    		if(tableau != -1) {
    			$("#tableauQuestion tbody").append(tableau);
    		} else {
    			$("#tableauQuestion .tableauVide").show();
    		}
    	},
    });
    Et avec le code php de la page :

    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
    <?php
     
    	include("../../include_commun/bdd_connexion.php");
     
    	$reqQuestion = $linkpdo->query("SELECT * 
    									FROM question, personne
    									WHERE question.idPersonne_enseignant = personne.idPersonne
    									ORDER BY texte");
    	$question = $reqQuestion -> fetch();
     
    	if($question != null) {
     
    		$tableau = "";
    		while($question != null){
    			$tableau .= "<tr>";
    			$tableau .= "<td>".$question["texte"]."</td>";
    			$tableau .= "<td>".$question["theme"]."</td>";
    			$tableau .= "<td>".$question["nom"]."</td>";
    			$tableau .= "</tr>";
    			$question = $reqQuestion -> fetch();
    		}
     
    		echo $tableau;
     
    	} else {
     
    		echo -1;
     
    	}
     
    ?>

    Et bien il me retourne un retour chariot plus une tabulation plus le echo. Et je ne comprends pas pourquoi est-ce qu'il ajoute ça.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 19
    Points : 8
    Points
    8
    Par défaut
    Ouai en fait mon problème est clairement pas résolut. Je suis allé faire des vérifications, même dans le cas originel, cela me renvoie toujours :

    "
    1"

    Dans le cas où j'ajoute bien un thème. J'ai changé la condition du success en mettant plutôt "if(reponse > 0)". Donc retour chariot ou pas, ça prend pas en compte. Et en faisant un console.log(reponse), je vois bien qui y a ce foutu retour chariot et cette tabulation qui apparaît de je ne sais pas où.

    Et si c'est ouvrir des balises php qui fait ce problème.. je suis sensé faire comment pour contourner le problème ? Je suis obligé d'en ouvrir sinon cela renvoie chaque ligne de code littéralement.

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

    Il faut supprimer le ?> final quand il n'y a rien après.

    Ça vaut aussi pour le fichier connexion.php.

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 19
    Points : 8
    Points
    8
    Par défaut
    Bonjour ^^,

    C'est exactement ce que je me suis dit, j'ai essayé de supprimer ces balises, mais ça ne change rien.

    Le fichier de connexion :

    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
     
    <?php
    	//Connexion à la bdd 
    	$server = "localhost";
    	$db = "projetqcm";
    	$login = "root";
    	$mdp = "";
     
    	try {
    		$linkpdo = new PDO("mysql:host=$server;dbname=$db", $login, $mdp);
    		$linkpdo->exec("SET CHARACTER SET utf8");
    	} catch (Exception $e) {
    		die('Erreur : '.$e->getMessage());
    	}
    ?>

  8. #8
    Invité
    Invité(e)
    Par défaut
    Il faut aussi que la 1ère balise <?php soit sur la toute 1ère ligne.

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 19
    Points : 8
    Points
    8
    Par défaut
    AAAAH voilaaaa !! Moi j'aimais pas mettre la balise au tout début, je trouvais pas ça esthétique ... mais tant pis. Merci c'est nickel maintenant !!!

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

Discussions similaires

  1. [TextBlock] Ajouter un retour chariot dans le StringFormat
    Par bassreligion dans le forum Windows Presentation Foundation
    Réponses: 7
    Dernier message: 08/11/2018, 15h14
  2. [RegEx] ajouter un retour chariot à un nombre dans un texte
    Par serna dans le forum Langage
    Réponses: 2
    Dernier message: 06/09/2010, 17h26
  3. concatenation de 2 fichiers+ajout de retour chariot si nécessaire
    Par freestyler dans le forum Shell et commandes GNU
    Réponses: 7
    Dernier message: 14/12/2007, 11h34
  4. [VBA] Comment ajouter un retour chariot dans un label?
    Par fafaf dans le forum VBA Access
    Réponses: 2
    Dernier message: 28/03/2007, 14h37
  5. Réponses: 2
    Dernier message: 11/07/2006, 15h00

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