Ajax校验数据值

时间:2018-08-08 20:02:45

标签: javascript json ajax

我以JSON响应的形式获取数据,每当我的一个字段为空且其中一个具有值时,我就需要使用if语句来检查哪个字段具有值并打印该字段。

到目前为止,我已经尝试过:

if(data.longtext_dec != ''){
  var ress = data.longtext_dec;
} else {
  var ress = data.text_dec;
}

if($.trim(data.longtext_dec) === '')
{
  var ress = data.longtext_dec;
} else {
  var ress = data.text_dec;
}

每次代码继续打印longtext_dec或同时显示为null

因此,我需要帮助来完成此操作,这是ress的结果,我想将其附加到我的视图(此视图或该视图)中。

如何解决此代码?

更新

网络响应标签:

product_id        15
specification_id  5
text_dec          ddd
longtext_dec      null
id                69

有效载荷

{"product_id":"15","specification_id":"5","text_dec":"ddd","longtext_dec":null,"id":69}

4 个答案:

答案 0 :(得分:1)

只需使用if (data.longtext_desc),这是一种检查数据变量的值是否为true的方法。 undefinednullfalse0,空字符串的值为false

    var ress; // undefined
    if (data.longtext_desc) {
      ress = data.longtext_desc;
    } else {
      ress = data.text_dec;
    }

(可选)使用三元运算符:

    var ress = data.longtext_desc ? data.longtext_desc : data.text_dec;

答案 1 :(得分:0)

空字符串,null,undefined和boolean true / false之间有区别。如JSON中所示,您要检查响应对象中的值是否为null。所以只需检查

if( data.longtext_dec !== null ) 

这里有很好的解释:

https://stackoverflow.com/a/27550756/3868104

可选,您可以检查所需内容,例如:

if( data.longtext_dec !== "" )

,依此类推。

答案 2 :(得分:0)

您可以利用javascript ||运算符如下

var res = data.longtext_dec || data.text_dec;

答案 3 :(得分:0)

尝试一下:

var data = {"product_id":"15","specification_id":"5","text_dec":"ddd","longtext_dec":null,"id":69};

var ress;

(data.longtext_dec !== null) ? ress = data.longtext_dec : ress = data.text_dec;

console.log(ress);