Vergleichen Sie String in javascript
In jquery ajax-Funktion, die ich erhalten, um zu dem server "true" oder "false" - strings. Dann habe ich nur wnat wissen, Ergebnis, sondern nur false in der if-Bedingung.
$.ajax({
...
success: function(result) {
if(result == "true"){ //false???????
alert('true');
} else {
alert('false');
}
}
})
...
$.ajax({
...
success: function(result) {
var result2 = String(result);
alert(result2); //true
alert(typeof result2); //String
alert(typeof "true"); //String
if(result2 == "true"){ //false???????
alert('true');
} else {
alert('false');
}
}
})
...
...
Jemand kann mir helfen?
- Wenn Ihr interpreter sagt, dass
result == "true"
istfalse
dannresult
ist nicht"true"
. So einfach ist das. Sie möglicherweise wollen überprüfen, ob Ihre Annahme von dem, wasresult
ist, sind die wirklich halten. Versuchenconsole.log(result)
. - Sind Sie sicher, dass das Ergebnis enthält "true" ?
- Sie sind mit jQuery, und jQuery verwendet "intelligente Vermutungen" manchmal zur Abbildung der Ergebnis-Typ. versuchen
result === true
. Es könnte sich in boolean. - was
result2 == true
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnte es sein, Zeilenumbrüche oder Leerzeichen in "Ergebnis".
Hmm,
Einen leeren string, null, 0 und undefined werden alle falschen
result2==="true"
ist eine bessere testDEMO
mit trim () - Funktion...
e.g:
$.ajax({
...
...