javascript - 数据库为空时获取未定义

标签 javascript titanium

我的移动应用程序有问题,我不知道如何解决。 当我按下一个从数据库获取数据的按钮时,我在 json 中解析它,当我想在我的应用程序中使用它时,我得到了未定义的。锄头我能做到吗,所以我不会得到未定义的东西。

注意 我只在数据库为空时得到 undefind。

这是我使用的代码

subjectButton.addEventListener('click', function(e) {
    Subjects.getSubjects(url, function(response) {
        if(response == '') {
            alert('There where no subjects found');
        } else {
           subjectView.remove(subjectsLabel);

           var data = JSON.parse(response);

           if(data != 'undefined') {

               var subjectNameButton = [];
               var subjectEditButton = [];
               var subjectDeleteButton = [];
               for(i in data) {
                   id = data[i].id;
                   var subject = data[i].subject;
                   var year = data[i].year;
                   var status = data[i].status;
                   var color;

                   Ti.API.info('id: ' + id);
                   Ti.API.info('type id: '+ typeof id);

有人可以向我解释一下我该怎么做,这样我就不会得到未定义的

最佳答案

就像@0101 说的 json 不能返回 undefined 所以你的问题在别的地方。 我知道这不是最好的解决方案,但它似乎对我有用:

subjectButton.addEventListener('click', function(e) {
        Subjects.getSubjects(url, function(response) {
                if(response == '') {
                        alert('There where no subjects found');
                } else {
                     subjectView.remove(subjectsLabel);

                     var data = JSON.parse(response);

                     var subjectNameButton = [];
                     var subjectEditButton = [];
                     var subjectDeleteButton = [];
                     for(i in data) {
                             id = data[i].id;
                             var subject = data[i].subject;
                             var year = data[i].year;
                             var status = data[i].status;
                             var color;

                             Ti.API.info('id: ' + id);
                             if(id != undefined) {
                                    //Your code here
                             } else {
                                     alert('There where no subjects found');
                             }
                        }
                 }
        });
});

所以在这里您可以检查其中一个变量是否返回未定义。如果它不是undefined,它将运行您的代码,否则它会给您/用户一条警告消息

关于javascript - 数据库为空时获取未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24434297/

相关文章:

javascript - 表格滚动上的两个固定标题 - 添加边框

javascript - 如何在网格内移动元素?

android - Appcelerator Titanium 中的自定义通知 View

javascript - 如何在钛合金中隐藏选项对话框点击事件的android软键盘?

titanium - 在 Titanium 中将一个圆分成几段

javascript - Appcelerator Titanium - 子字符串 Javascript : Uncaught TypeError

titanium - 使用 tidesdk 为其他平台构建桌面应用程序

javascript - INTEL XDK Ajax 响应不工作

java - 如何在叠加层中显示搜索结果页面

javascript - 悬停在子导航可见性上