调用 Worklight 适配器并将列表视图中的 JSON 数据显示为字符串
Invoking Worklight Adapter and Displaying that JSON data in list view as strings
这是我的adapter.impl.js代码。
//This procedure implementation is to get all the details from the table which in database.
var procedure1Statement = WL.Server.createSQLStatement("select * from employee");
function procedure1() {
return WL.Server.invokeSQLStatement({
preparedStatement : procedure1Statement,
parameters : []
});
}
这是我在工作光中从 SQL 适配器检索的 JSON 数据。
{
"isSuccessful": true,
"resultSet": [
{
"EMAIL": "bkandregula@gmail.com",
"ID": 1,
"NAME": "Bhanu Kandregula"
},
{
"EMAIL": "rbkandregula@gmail.com",
"ID": 2,
"NAME": "Raghu Kandregula"
},
{
"EMAIL": "shyamsurisetty@gmail.com",
"ID": 3,
"NAME": "Shyam Surisetty"
},
{
"EMAIL": "bunny@gmail.com",
"ID": 4,
"NAME": "Bunny"
},
{
"EMAIL": "divya@gmail.com",
"ID": 5,
"NAME": "Divya Sri"
},
{
"EMAIL": "chandhu@gmail.com",
"ID": 6,
"NAME": "Chandana"
}
]
}
不是我要从客户端调用此适配器并在移动控制台上的列表视图中显示此数据。为此,这是我在客户端js文件中使用的代码。
function wlCommonInit(){
LoadSQLRecords();}
function loadSQLRecords(){
var invocationData = {
adapter : 'MySQLadap',
procedure : 'procedure1',
parameters : []
};
WL.Client.invokeProcedure(invocationData,{
onSuccess : loadSQLQuerySuccess,
onFailure : loadSQLQueryFailure
});
}
function loadSQLQuerySuccess(result) {
WL.Logger.debug("Retrieve success" + JSON.stringify(result));
displayFeeds(result.invocationResult.resultSet);
}
function loadSQLQueryFailure(result) {
WL.Logger.error("Retrieve failure");
}
function displayFeeds(items) {
var ul = $('#itemsList');
for (var i = 0; i < items.length; i++) {
var li = $('<li/>').html(items[i].id);
li.append($('<li/>').html(items[i].name));
li.append($('<li/>').html(items[i].email));
li.append($('<hr>'));
ul.append(li);
}
}
这是我的HTML文件代码,可以在屏幕上显示我的数据。
<div id="wrapper">
<ul id="itemsList"></ul>
</div>
但这对我不起作用。我一直在搜索许多博客和网站,但我无法触发它。请帮助我调用适配器并在移动控制台的列表视图中显示该数据。谢谢。
您需要更正以下内容,然后重新部署应用程序。
-
函数名称拼写错误:
LoadSQLRecords
应该是loadSQLRecords
.function wlCommonInit(){ LoadSQLRecords(); // Upper-case 'L'; should be lower-case. } function loadSQLRecords(){ var invocationData = { adapter : 'MySQLadap', procedure : 'procedure1', parameters : [] }; };
在修复之前,您应该已经在Chrome DevTools的控制台中看到以下内容:
worklight.js:5147 Uncaught Exception: Uncaught ReferenceError: LoadSQLRecords is not defined at (compiled_code):4 main.js:4 Uncaught ReferenceError: LoadSQLRecords is not defined
-
您需要更改以下内容才能实际显示任何值。
- 使用
items.invocationResult.resultSet
- 对属性
使用正确的大小写
从:
for (var i = 0; i < items.length; i++) { var li = $('<li/>').html(items[i].id); li.append($('<li/>').html(items[i].name)); li.append($('<li/>').html(items[i].email)); li.append($('<hr>')); ul.append(li); }
自:
for (var i = 0; i < items.invocationResult.resultSet.length; i++) { var li = $('<li/>').html(items.invocationResult.resultSet[i].ID); li.append($('<li/>').html(items.invocationResult.resultSet[i].NAME)); li.append($('<li/>').html(items.invocationResult.resultSet[i].EMAIL)); li.append($('<hr>')); ul.append(li); }
- 使用
相关文章:
- 如何将JSON数据导入我的ejs模板
- 如何将json数据显示为html
- Json数据包含日期和时间格式
- 用我的json数据填充JQuery DataTable
- AngularJS加载JSON数据,然后从中解析/加载HTML
- 使用jquery读取Json数据
- 如何将本地json数据加载到Extjs数据模型中
- 如何使用jquery ajax和jsonp在您自己的域上读取json数据
- React-将jSON数据传递给子组件的子组件
- 尝试从控制器加载带有json数据的Simile时间线
- Jquery:对返回JSON数据的php脚本的Ajax调用
- 如何通过数据分组将json数据转换为嵌套的json数据格式
- 如何在ReactJs中显示Json数据
- 使用javascript进行JSON数据检索
- tu如何将id放在填充了json数据的html表td上
- 将JSON数据从服务器加载到knockout.jsobservable中
- 使用JavaScript处理JSON数据
- 如何将json数据传递到.js文件
- 如何在带有nunjucks和gullow数据的JSON数据中使用带有HTML的内容
- 如何使用var名称调用JSON数据