测试数组中的数据是否具有值Javascript

时间:2013-08-29 00:28:26

标签: javascript jquery if-statement

我想测试下面代码中的数据数组是否有内容,因为当用户给出一个不存在的packageid(下面的代码中的变量)时,我想要“if ... else”中的else被执行。当我输入一个存在的packageid时,一切正常,但是当我没有输入任何数字或数字时,其他方面都没有得到评估。

function getInfoAndStatus(){

sym.$("customer_name").empty();

packageid = $("#tracknrfield").val();

var url = "http://student.howest.be/sylvain.vansteelandt/fedex/server/getPackageTracking.php?id=" + packageid;

$.getJSON(url,function(data){
    if(data && data[0].id){
        $("<span />", {
    text: "Customer name: " + data[0].customer_name + " " + data[0].customer_firstname
}).appendTo(sym.$("customer_name"));
    } else {
            $("<span />", {
    text: "The package with number " + packageid + " has not been found. Please try again."
}).appendTo(sym.$("customer_name"));
    }
});
}

getInfoAndStatus();

2 个答案:

答案 0 :(得分:2)

检查您的javacript控制台是否有任何错误。 data可以为null或空数组。

添加console.log(typeof data)支票也很有用。

看不见,我很可能会做if (data && data.length > 0)

之类的事情

答案 1 :(得分:0)

如果您检查控制台输出,我打赌您会在那里看到错误。

您的检查应如下:

if(data && data[0] && data[0].id)

因为您的阵列中可能没有元素。