0

jquery ajax関数では、サーバーに「true」または「false」の文字列を受け取ります。次に、結果を知りたいだけですが、if条件でfalseになるだけです。

 $.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、未定義はすべて 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 に答える