JQuery problème de condition de comparaison

StK_TrOjKa Messages postés 49 Statut Membre -  
StK_TrOjKa Messages postés 49 Statut Membre -
Bonjour,

Je fais appel à vous car j'ai un petit soucis avec ma condition de comparaison...

Voici le code:

$.post('check.php' ,{ lien:lien } ,function(data) {

alert(data);

if (data == 'no') {

$('#msgbox').fadeTo(200,0.1,function() {
$(this).html('Cette photo est déjà validée !').addClass('busy').fadeTo(900,1);
});

} else {

...

}


Alors, mon alert(data) retourne bien no donc ce que je ne comprend pas, c'est pourquoi mon if (data == 'no') { n'est pas considéré comme juste et que mon code passe donc directement au else ???

Voici tous mon code:
index.php: https://hastebin.com/peqixoqade.xml
check.php: https://hastebin.com/vexefihivi.php

Merci :) :)




A voir également:

5 réponses

totodunet Messages postés 1513 Statut Membre 201
 
salut,

mets no entre guillemets pour voir "no" et non pas 'no'

sinon essaies ceci :

if(data.localeCompare("no"))

0
StK_TrOjKa Messages postés 49 Statut Membre 4
 
Hello, merci pour ton aide !
Heum alors pour mettre des " à la place de ' j'avais déjà essayé mais ça n'a pas fonctionner...

Et pour le
if(data.localeCompare("no"))

ça ne fonctionner pas, mais ça inverse ^^ -> mon data reçois un "yes" car ma base de donnée est vide, mais il exécute maintenant le if comme si if (data.localeCompare("no")) était juste...

Donc même problème qu'avant mon if ne comprend rien :'((((
0
totodunet Messages postés 1513 Statut Membre 201
 
fait un alert de typeof de ton data

alert(typeof data);


si ça te renvoie autre chose qu'un string ça expliquera peut-être certainement pourquoi
0
StK_TrOjKa Messages postés 49 Statut Membre 4
 
ça me retourne "String", donc c'est ce que je voulais je crois ^^ ahah
Bizzard bizzard cette histoire... Tout semble fonctionner sauf cette comparaison dans le if...
0
StK_TrOjKa Messages postés 49 Statut Membre 4
 
UP :D
0
totodunet Messages postés 1513 Statut Membre 201
 
est ce que tu as fait des alert dans ce fameux if pour être sûr qu'il ne s'exécute pas ?
0
StK_TrOjKa Messages postés 49 Statut Membre 4
 
Alors non in ne s'exécute pas...

J'ai commenté le else et gardé ce code là


alert(data); // Retourne no
alert(typeof data); // Retourne String

if (data == 'no') {

alert('ça sexecute !');

}

Merci encore pour ton aide :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
StK_TrOjKa Messages postés 49 Statut Membre 4
 
Hello hello ! Par chance j'ai trouvé quelqun qui avait le même problème !
Il suffit de faire
if ($.trim(data) == 'no') { ... }
pour que ça fonctionne, je ne sais pas trop pourquoi mais ça marche au moins :D

Merci encore !

https://stackoverflow.com/questions/3233422/jquery-if-statement-string-comparison-not-working

EDIT: Voilà ce que fait $.trim(): "Remove the whitespace from the beginning and end of a string."
0