Mobile 在Appcelerator中显示JSON结果

Mobile 在Appcelerator中显示JSON结果,mobile,appcelerator,appcelerator-mobile,Mobile,Appcelerator,Appcelerator Mobile,所以我试着切换到Appcelerator,但在弄清楚它到底是如何工作的时候遇到了一些困难。尝试使用一个简单的按钮加载一个新窗口并列出一些SQL条目。我没有收到任何错误,但页面显示为空白。我肯定我犯了一个明显的错误,如果有人能指出正确的方向,我会有所帮助。返回的JSON数组是正确的 Index.xml <Alloy> <Window class="container"> </Window> </Alloy> bookdetails

所以我试着切换到Appcelerator,但在弄清楚它到底是如何工作的时候遇到了一些困难。尝试使用一个简单的按钮加载一个新窗口并列出一些SQL条目。我没有收到任何错误,但页面显示为空白。我肯定我犯了一个明显的错误,如果有人能指出正确的方向,我会有所帮助。返回的JSON数组是正确的

Index.xml

<Alloy>
    <Window class="container">
    </Window> 
</Alloy>
bookdetails.js

<Alloy> 
   <Window class="container"> 
   </Window> 
</Alloy>
var win = Ti.UI.createWindow({
title: 'Title goes here',
layout: 'vertical',
backgroundColor: '#123456',
});
var data = [];
var xhr = Titanium.Network.createHTTPClient();
    xhr.onload = function(){
        var logins = JSON.parse(xhr.responseText);
        for(var i = 0; i < logins.length; i++) {
            data.push[logins[i]];
        }
        var table = Ti.UI.createTableView({ objName: 'table' });
        for (var i = 0; i <= data.length; i++){
             var row = Ti.UI.createTableViewRow({
            className: 'row',
            objName: 'row',
             touchEnabled: true,
             height: 100
         });
  table.setData(data);
  win.add(table);
}

    };
    xhr.open('GET', 'http://www.xxxxxxxx.com/check.php');
    xhr.send();

win.open();
var win=Ti.UI.createWindow({
标题:“标题在这里”,
布局:“垂直”,
背景颜色:“#123456”,
});
var数据=[];
var xhr=Titanium.Network.createHTTPClient();
xhr.onload=函数(){
var logins=JSON.parse(xhr.responseText);
对于(变量i=0;i对于(var i=0;i您正在index.xml和index.js中定义一个窗口。您不应该这样做

您的index.js应该如下所示:

var args = arguments;
var data = [];

var button = Ti.UI.createButton({
    title: 'My button',
    top: 10,
    height: 40,
    width: 200
});

button.addEventListener('click', function() {
    // Check console
    Ti.API.info('User clicked the button ');
    var dataview = Alloy.createController("bookdetails").getView();
    dataview.open();

});

$.getView().add(button); // this gets the root window of controller and adds a button to it
var data = [];
var xhr = Titanium.Network.createHTTPClient();
    xhr.onload = function(){
        var logins = JSON.parse(xhr.responseText);
        for(var i = 0; i < logins.length; i++) {
            data.push[logins[i]];
        }
        var table = Ti.UI.createTableView({ objName: 'table' });
        for (var i = 0; i <= data.length; i++){
             var row = Ti.UI.createTableViewRow({
            className: 'row',
            objName: 'row',
             touchEnabled: true,
             height: 100
         });
  table.setData(data);
  $.getView().add(table);
}

    };
    xhr.open('GET', 'http://www.xxxxxxxx.com/check.php');
    xhr.send();
 $.getView().show();
您的数据控制器也应该重构为如下内容:

var args = arguments;
var data = [];

var button = Ti.UI.createButton({
    title: 'My button',
    top: 10,
    height: 40,
    width: 200
});

button.addEventListener('click', function() {
    // Check console
    Ti.API.info('User clicked the button ');
    var dataview = Alloy.createController("bookdetails").getView();
    dataview.open();

});

$.getView().add(button); // this gets the root window of controller and adds a button to it
var data = [];
var xhr = Titanium.Network.createHTTPClient();
    xhr.onload = function(){
        var logins = JSON.parse(xhr.responseText);
        for(var i = 0; i < logins.length; i++) {
            data.push[logins[i]];
        }
        var table = Ti.UI.createTableView({ objName: 'table' });
        for (var i = 0; i <= data.length; i++){
             var row = Ti.UI.createTableViewRow({
            className: 'row',
            objName: 'row',
             touchEnabled: true,
             height: 100
         });
  table.setData(data);
  $.getView().add(table);
}

    };
    xhr.open('GET', 'http://www.xxxxxxxx.com/check.php');
    xhr.send();
 $.getView().show();
var数据=[];
var xhr=Titanium.Network.createHTTPClient();
xhr.onload=函数(){
var logins=JSON.parse(xhr.responseText);
对于(变量i=0;i