当JSON不包含任何数据时通知用户

时间:2012-06-04 07:02:16

标签: javascript json cordova

我正在尝试制作一个PhoneGap应用程序,它使用PHP getJSON函数从MYSQL获取数据,然后将其作为列表发布到应用程序上。列表部分工作正常,但我想以某种方式告知用户服务器上是否有数据。

现在它只显示没有,因为我正在尝试开发一个移动应用程序,用户可能只是认为连接速度很慢,即使没有任何东西可以获取,应用程序仍在尝试获取数据。

这是我使用的代码:

function getEmployeeList() {
    $.getJSON(serviceURL + 'getemployees.php', function(data) {
       if(JSON.stringify(data) != JSON.stringify(oldData)){ 
            $('#employeeList li').remove();
            employees = data.key;
            $.each(employees, function(index, employee) {
                $('#employeeList').append('<li><a href="keikka.html?id=' + employee.IND + '">' +
                    '<h4>' + employee.OSO + '</h4>' +
                    '<img src="pics/' + employee.TILA + '.png"/>' +
                    '<p>' + employee.AIKA + '</p>' +'</a></li>');
        });
            $('#employeeList').listview('refresh');

            if(oldData != "")
               alert("New data!");       
            oldData = data;
        }
    });
}  

我怎样才能这样做,当json看起来像这样{"key":[]}时,它会发布一个像“没有数据”的文字

2 个答案:

答案 0 :(得分:2)

使用ajax调用从服务器检索数据。检查客户端的数据(让您的服务器返回一些错误代码),这样您就知道没有数据可以显示。如果是这种情况,请显示无数据消息或任何最适合用户的消息。

类似的东西:

$.getJSON('someurl', function(data){
   if(data.key.length <= 0){
      $('#mydatacontainer').append('<span class="nodata">No data</span>');
   }
});

答案 1 :(得分:-2)

if (empty($urJsonArray)) {
    echo '$urJsonArray is either 0, empty, or not set at all';
}