我正在尝试从数据库中获取数据并将其显示在应用程序中 以下是我的代码。调用运行良好,但数据未显示。
sqlAdapter-impl.js
var selectStatement = WL.Server.createSQLStatement("select * from studentinfo");
function getStudentInfos() {
return WL.Server.invokeSQLStatement({
preparedStatement : selectStatement,
parameters : []
});
}
sqlAdapter.js
window.$ = window.jQuery = WLJQ;
function wlCommonInit() {
GetEmployeeData();
}
function GetEmployeeData() {
var invocationData = {
adapter : 'sqlAdapter',
procedure : 'getStudentInfos'
};
WL.Client.invokeProcedure(invocationData,{
onSuccess : loadFeedsSuccess,
onFailure : loadFeedsFailure
});
}
function loadFeedsSuccess(result){
WL.Logger.debug("Feed retrieve success");
busyIndicator.hide();
if (result.invocationResult.Items.length>0)
displayFeeds(result.invocationResult.Items);
else
loadFeedsFailure();
}
function displayFeeds(items){
var ul = $('#itemsList');
for (var i = 0; i < items.length; i++) {
var li = $('<li/>').html(items[i].sid);
var pubDate = $('<div/>', {'class': 'pubDate'}).html(items[i].sname);
li.append(pubDate);
ul.append(li);
}
}
sqlAdapter.html
<body id="content" style="display: none;">
<div id="itemsList"></div>
<script src="js/initOptions.js"></script>
<script src="js/sqlAdapter.js"></script>
<script src="js/messages.js"></script>
</body>
这是我调用程序
的原因 {
"isSuccessful": true,
"resultSet": [
{
"sclass": "PUC",
"sgrade": "A+",
"sid": "PUC001",
"sname": "Rohan"
},
{
"sclass": "PUC",
"sgrade": "A",
"sid": "PUC002",
"sname": "Rakesh"
},
{
"sclass": "PUC",
"sgrade": "C",
"sid": "PUC003",
"sname": "Raj"
},
{
"sclass": "PUC",
"sgrade": "E",
"sid": "PUC004",
"sname": "Roman"
}
]
}
我只想把所有这些东西都打印在屏幕上
答案 0 :(得分:0)
首先,您需要更改&#34;项目&#34;:
if (result.invocationResult.Items.length>0)
displayFeeds(result.invocationResult.Items);
To&#34; resultSet&#34;:
if (result.invocationResult.resultSet.length>0)
displayFeeds(result.invocationResult.resultSet);
其次,我使用了Worklight提供的worklight_training
数据库脚本以及问题中的代码段。我已将displayFeeds
功能更改为:
function displayFeeds(items) {
var ul = $('#itemsList'), i, li;
for (i = 0; i < items.length; i += 1) {
// Create new <li> element and populate it
li = $('<li/>').text(item.firstName);
// Append the <li> element to the <ul> element
ul.append(li);
}
}
最终结果是显示firstName
表中的users
值
然后,您可以更多地使用JavaScript来显示 数据库表中 所需的内容...
顺便说一下,正如你所看到的...... Chrome开发工具中的控制台确实显示了一些东西 ...你声称它没有。你需要明白这一点。