如何检测JSON响应的空元素

时间:2016-02-22 10:50:53

标签: javascript jquery json ajax

我在AJAX通话后收到JSON响应。响应包含一些元素,如id,name,number等。该方法有时返回id和数字,在其他情况下返回id,名称和数字。在AJAX的成功部分,JQuery方法我正在测试我是否得到了正确的密钥。当名称等密钥存在时,我收到错误:Cannot read property 'name' of null。很明显,我的if条件有问题。

$.ajax({
      url: "edit_info",
      type: 'POST',
      data: {
        'id': id
      },
      success: function(data) {
        if (data.name) {
          console.log(data.name);
      }
});

所以任何替代

4 个答案:

答案 0 :(得分:2)

typeof允许以前从未声明过标识符。

if (typeof data.name != "undefined" && data.name.trim().length) {
     console.log(data.name);
}

答案 1 :(得分:0)

当您收到Cannot read property 'name' of null时,表示您的data对象为null

您可以检查假值

if(data && data.name){
    console.log(data.name);
}

答案 2 :(得分:0)

使用typeof运算符

if(typeof data.name!='undefined')
{
    console.log(data.name)
}

答案 3 :(得分:0)

Jquery为您提供length任务功能

if ( data.length != 0 ){
    console.log(data.name);
}