我在{}
这样的控制台中获取输出,现在我正在检查它是否有条件,它不起作用
$.ajax({
...
success: function(data){
if (data.length) {
if(data.length === 0){
$('.library_info_tbl tbody').prepend('<tr><td class="text-center centeralign" colspan="8">No Data Available!</td></tr>');
}
else{
}
}
});
如果数据包含{}
,则不会检查条件if(data.length === 0)
是否在代码中不起作用。
答案 0 :(得分:2)
if (data.length) { ...... }
以上条件阻止它进入内部区块,因为0被视为false,这就是你无法执行内部语句的原因:
if(data.length === 0)
答案 1 :(得分:0)
请尝试以下操作:
//if data is array
if (data.length) {
$('.library_info_tbl tbody').prepend('<tr><td class="text-center centeralign" colspan="8">No Data Available!</td></tr>');
}
else
{
}
//if data is object
if(jQuery.isEmptyObject(data)){//do something }
else{ }
答案 2 :(得分:0)
Javascript中的对象在其原型中没有长度属性。
如果您要查找长度,请先确定它是否为数组。
success(result){
if(result instanceof Array && result.length){ ... }
}
instanceof将确定结果是否为Array类型。从而确保您可以安全地使用长度。
希望它有所帮助: - )