このコードを使用してjsonからデータを取得しています。
$.each(data.id, function(index, value){
output += '<li>'+value.title+'</li>';
}
$('#listview').html(output).listview('refresh');
表示するレコードがない場合もあります。
レコードがないかどうかを確認し、アラートの例を表示するにはどうすればよいですか: alert('No records'); ?
このコードを使用してjsonからデータを取得しています。
$.each(data.id, function(index, value){
output += '<li>'+value.title+'</li>';
}
$('#listview').html(output).listview('refresh');
表示するレコードがない場合もあります。
レコードがないかどうかを確認し、アラートの例を表示するにはどうすればよいですか: alert('No records'); ?
data.idあなたがそれに使用したので、私はそれが配列であると仮定しています$.each:
if (data.id.length == 0) {
// no data
}
一般に、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 ');
}
お役に立てれば。
オブジェクトにデータがあるかどうかを確認する最も一般的な方法は、
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」に何か問題がある場合 (未定義)、「データがありません」というメッセージが表示されます。または、「SourceData」が初期化されているが、たとえば誰かがサーバーから返されるデータの構造を変更した場合 (「ID」ではなく、「TitleID」になっている)、エラーは生成されません。
「|」を使用していることに注意してください。「||」の代わりに。つまり、条件の 1 つが「真」の場合、その条件の権利は実行されません。