比较javascript中的字符串

比较javascript中的字符串,javascript,string,compare,Javascript,String,Compare,在jQueryAjax函数中,我接收到服务器的“true”或“false”字符串。然后我只知道结果,但只在if条件下得到false $.ajax({ ... success: function(result) { if(result == "true"){ // false??????? alert('true'); } else {

在jQueryAjax函数中,我接收到服务器的“true”或“false”字符串。然后我只知道结果,但只在if条件下得到false

 $.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');
        }
     }
})