所以我试图切换到Appcelerator,并且在确定它是如何工作方面遇到了一些麻烦。试着只有一个简单的按钮来加载一个新窗口并列出一些SQL条目。我没有收到任何错误,但页面显示为空白。我确定我犯了一个明显的错误,如果有人指出正确的方向会有所帮助。返回的JSON数组是正确的。
INDEX.XML
<Alloy>
<Window class="container">
</Window>
</Alloy>
bookdetails.js
<Alloy>
<Window class="container">
</Window>
</Alloy>
Index.js
var args = arguments;
var data = [];
var win = Ti.UI.createWindow({
title: 'Title goes here',
layout: 'vertical',
backgroundColor: '#123456',
});
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();
});
win.add(button);
win.open();
bookdetails.js
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();
答案 0 :(得分:0)
您在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();