测试数组中的数据是否具有值Javascript
我想测试下面代码中的数据数组是否有内容,因为当用户给出一个不存在的packageid(下面代码中的变量)时,我希望执行“if…else”中的else。当我放入一个存在的packageid时,一切正常,但当我放入一个不存在的数字或一个不存在的数字时,其他方面不会得到评估测试数组中的数据是否具有值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
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),效果非常好。