0

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

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

...

有人可以帮助我吗?

4

3 回答 3

5

“结果”中可能有换行符或额外的空格。

于 2012-05-02T09:39:21.573 回答
0

唔,

一个空字符串,null、0和undefined都是false

result2==="true"是一个更好的测试

演示

于 2012-05-02T09:36:49.207 回答
0

使用修剪()函数...

例如:

$.ajax({

...

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

...

于 2014-07-07T09:11:20.010 回答