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

测试数组中的数据是否具有值Javascript,javascript,jquery,if-statement,Javascript,Jquery,If Statement,我想测试下面代码中的数据数组是否有内容,因为当用户给出一个不存在的packageid(下面代码中的变量)时,我希望执行“if…else”中的else。当我放入一个存在的packageid时,一切正常,但当我放入一个不存在的数字或一个不存在的数字时,其他方面不会得到评估 function getInfoAndStatus(){ sym.$("customer_name").empty(); packageid = $("#tracknrfield").val(); var url = "ht

我想测试下面代码中的数据数组是否有内容,因为当用户给出一个不存在的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();
函数getInfoAndStatus(){ 符号$(“客户名称”).empty(); packageid=$(“#tracknrfield”).val(); 变量url=”http://student.howest.be/sylvain.vansteelandt/fedex/server/getPackageTracking.php?id=“+packageid; $.getJSON(url、函数(数据){ if(数据和数据[0].id){ $("", { 文本:“客户名称:”+数据[0]。客户名称+”+数据[0]。客户名 }).附录(sym.$(“客户名称”); }否则{ $("", { 文本:“未找到编号为“+packageid+”的软件包。请重试。” }).附录(sym.$(“客户名称”); } }); } getInfoAndStatus();
如果您检查控制台输出,我打赌您会在那里看到错误

您的if检查应如下所示:

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

因为数组中可能没有元素。

请检查JavaScript控制台是否有任何错误<代码>数据可能为空或空数组

console.log(数据类型)
添加检查也可能有用


如果看不见,我很可能会做一些类似于
if(data&&data.length>0)

的事情,那么你是在问是否可以测试
data
是否有任何值吗?谢谢,我使用了if(data&&data.length>0),效果非常好。