比较javascript中的字符串
在jQueryAjax函数中,我接收到服务器的“true”或“false”字符串。然后我只知道结果,但只在if条件下得到false比较javascript中的字符串,javascript,string,compare,Javascript,String,Compare,在jQueryAjax函数中,我接收到服务器的“true”或“false”字符串。然后我只知道结果,但只在if条件下得到false $.ajax({ ... success: function(result) { if(result == "true"){ // false??????? alert('true'); } else {
$.ajax({
...
success: function(result) {
if(result == "true"){ // false???????
alert('true');
} else {
alert('false');
}
}
})
...
有人能帮我吗?嗯 空字符串、null、0和undefined均为false
result2==“true”
是一个更好的测试
嗯
空字符串、null、0和undefined均为false
result2==“true”
是一个更好的测试
结果中可能有换行符或额外空格。结果中可能有换行符或额外空格。使用trim()函数 e、 g: $.ajax({ …使用trim()函数 e、 g: $.ajax({
如果你的解释器说
result==“true”
是false
,那么result
不是“true”
。就这么简单。你可能想检查一下你对结果的假设是否成立。试试console.log(result)
。你确定结果包含“true”吗?您正在使用jQuery,jQuery有时使用“智能猜测”来计算结果类型。请尝试result===true
。它可能已变成布尔值。如果您的解释器说result==“true”
为false
,则result
不是“true”
。就这么简单。您可能想检查您对结果的假设是否真的成立。请尝试console.log(result)
。您确定结果包含“true”吗?您使用的是jQuery,而jQuery使用的是“智能猜测”有时要计算结果类型。请尝试result==true
。它可能已变成布尔值。为您奖励!我只在JS中查找问题,但我在java servlet中使用println()函数代替print()来响应。为您奖励!我只在JS中查找问题,但我使用println()函数代替print()在Javaservlet中进行响应。
$.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');
}
}
})
...
success: function(result) {
var result2 = String(result.trim());
alert(result2); // true
alert(typeof result2); // String
alert(typeof "true"); // String
if(result2 == "true"){ // true
alert('true');
} else {
alert('false');
}
}
})