比较jquery中的两个值我无法得到"嗨"警报

时间:2014-07-02 15:57:21

标签: jquery

我如何比较两个值json return true in deliver property,我想将它与string

进行比较
$.getJSON('/SalesInvoice/GetSI/' + $('#SearchSI').val(), function (data) {

     if (data.ex == "OK") {
         if(data.Voucher.IsDelivered == "true")
         {

             alert('hi');
         };
}

2 个答案:

答案 0 :(得分:0)

如果在JSON中,值为true,并且您想使用"true"进行检查,则会导致错误。

我认为您应该将字符串转换为简单的bool true。

if(data.Voucher.IsDelivered == true)
{
   alert('hi');
};

或者更简单的

if(data.Voucher.IsDelivered)
{
   alert('hi');
};

因为如果你看到(bool == string) = false。在使用条件语句时始终检查数据类型。

答案 1 :(得分:0)

为什么不在IF语句中添加else,以便您可以准确查看相关变量中的内容。像这样:

 if (data.ex == "OK") {
     if(data.Voucher.IsDelivered == "true")
     {

         alert('hi');
     } else {
         alert( data.Voucher.IsDelivered + ' = ' + typeof data.Voucher.IsDelivered )
     }