Javascript JSON检查是否没有可用数据
我使用此代码从json获取数据Javascript JSON检查是否没有可用数据,javascript,jquery,Javascript,Jquery,我使用此代码从json获取数据 $.each(data.id, function(index, value){ output += '<li>'+value.title+'</li>'; } $('#listview').html(output).listview('refresh'); $.each(data.id、函数(索引、值){ 输出+=''+值。标题+''; } $('#listview').html(输出).listview('refresh');
$.each(data.id, function(index, value){
output += '<li>'+value.title+'</li>';
}
$('#listview').html(output).listview('refresh');
$.each(data.id、函数(索引、值){
输出+=''+值。标题+' ';
}
$('#listview').html(输出).listview('refresh');
有时没有可显示的记录
如何知道是否没有记录并显示警报示例:警报(“无记录”);?我假设
data.id
是一个数组,因为您使用了$。每个上都有:
if (data.id.length == 0) {
// no data
}
检查对象中是否有数据的最常用方法是使用
length
方法
但您应该非常小心。例如,如果您的数据采用以下格式:
SourceData =[
{
ID:1,
Title:'Test1',
},
{
ID:2,
Title:'Test2',
},
{
ID:3,
Title:'Test3',
},
]
然后执行以下检查:
if(SourceData.ID.length>0)
由于某些原因(服务器错误、请求超时等)“SourceData”未定义,将抛出JavaScript错误
这就是为什么我要使用组合条件:
if(typeof SourceData==='undefined'|typeof SourceData.ID==='undefined'|SourceData.ID.length==0)
然后,如果“SoruceData”有问题(未定义),则会显示一条消息“No Data”。或者,当“SourceData”初始化时,例如,有人更改了服务器返回数据的结构(不再是“ID”,现在是“TitleID”),将不会生成错误
请注意,我使用的是“|”而不是“| |”。这意味着,如果其中一个条件为“true”,则不会执行him右条件。通常在javascript中使用此代码检查数组是否为空:
if (myArray.length) { // javascript shortcut for data.id.length>0
alert('no elems found');
}
在您的特定情况下,以下代码应该有效:
if (data.id.length) {
$.each(data.id, function(index, value){
output += '<li>'+value.title+'</li>';
});
$('#listview').html(output).listview('refresh');
} else {
alert('no records found ');
}
if(data.id.length){
$.each(data.id,函数(索引,值){
输出+=''+值。标题+' ';
});
$('#listview').html(输出).listview('refresh');
}否则{
警报(“未找到记录”);
}
希望这有帮助。我有麻烦了。不是应该是$。每个(数据,…)
?例如,如果(data.id.length==0){alert(“No records”);return;}
。显示响应JSON的预期结构肯定会有所帮助