gpt4 book ai didi

javascript - IBM Worklight - 无法显示使用 SQL 适配器检索的数据

转载 作者:行者123 更新时间:2023-11-28 08:23:48 25 4
gpt4 key购买 nike

我正在尝试从数据库中获取数据并将其显示在应用程序中。
下面是我的代码。调用正常,但数据不显示。

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"
}
]
}

我只想将所有这些内容打印在屏幕上

最佳答案

首先,您需要更改“Items”:

if (result.invocationResult.Items.length>0) 
displayFeeds(result.invocationResult.Items);

到“结果集”:

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);
}
}

最终结果是显示 users 表中的 firstName 值。
然后,您可以进一步使用 JavaScript 来显示想要从数据库表中获得的内容...

enter image description here

顺便说一句,正如您所看到的...Chrome 开发工具中的控制台确实显示了一些内容...您在案例中声称它没有。你需要弄清楚这一点。

关于javascript - IBM Worklight - 无法显示使用 SQL 适配器检索的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22670179/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com