【问题标题】:Unexpected procedure invocation response意外的过程调用响应
【发布时间】:2014-08-01 20:15:10
【问题描述】:

我正在使用 IBM Worklight v6.2。

我想通过单击按钮调用一个过程以从 sql 数据库返回详细信息。

HTML

<div id ="page">
    <h1> Hi Welcome User</h1>
    <input type="submit"  id="user" onclick="loadFeeds()" value="Submit">
    <span id="result"></span>
</div>

JavaScript

 function loadFeeds(){
     var invocationData = {
         adapter:"car1",
         procedure:"getuser",
         parameters:["name","city"]
     };

     WL.Client.invokeProcedure(invocationData,{
         onSuccess :loadFeedsSuccess,
         onFailure :loadFeedsFailure,
     });
}

function loadFeedsSuccess(result) {
    var xyz=result.invocationResult.resultSet[0];
    $("#result").html(xyz.name+" "+xyz.city);
    //$("#result").html(xyz.city);
    //alert(xyz.name);
}

function loadFeedsFailure(result) {
    WL.Logger.debug("failure"); 
}

适配器 JS

var user = WL.Server.createSQLStatement("select name,city from user");

function getuser(){
    return WL.Server.invokeSQLStatement({
        preparedStatement : user,
        parameters : []
    });
}

我想调用数据库中的所有值,但我不能这样做

【问题讨论】:

  • 您的问题对我来说并不完全清楚:您是说上述内容适用于数据库中的 1 个条目,并且您想对数据库中的所有条目执行此操作吗?还是根本不起作用?如果它根本不起作用,您是否尝试调试它? 1) 右键单击​​适配器并选择“invoke worklight procedure”,输入用户名并单击“确定”。你得到预期的结果吗?如果没有,你会得到什么错误?
  • 如果它确实有效,那么: 2) 在 chrome 中预览应用程序 > 打开 devtools > 控制台 > 刷新页面,您是否在控制台中看到任何错误?如果是,它们是什么?
  • 问题是我的数据库中有多个条目,一次只反映一个条目。条目的更改反映在更改结果集的值上。好的。我什至尝试了以下代码太
  • 函数 loadFeedsSuccess(result) { WL.Logger.debug("hi");变量 xyz =“”;变量 i=''; for(i=0;i
  • 我不明白。您对适配器有什么要求,您希望得到什么响应?一个列表?什么?

标签: ibm-mobilefirst worklight-adapters


【解决方案1】:

请参阅以下几乎相同的问题:How to retrieve images from existing database using sql/http adapter from worklight application

也许这就是你真正想要做的......
loadFeedsSuccess() 更改为:

// Change the append to look like how you need it to be, in your app.
function loadFeedsSuccess(result) {
    for (i = 0; i < result.invocationResult.resultSet.length; i++) {
        var xyz=result.invocationResult.resultSet[i];
        $("#result").append("name: " + xyz.name + " city: " + xyz.city);
    }
}

【讨论】:

  • Idan 它只显示数据库中的一个值...好的,我想要数据库中的所有值...
  • 我已经编辑了答案。尝试使用.append 而不是.html
  • 完美..谢谢你
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-03-18
  • 2019-05-08
  • 1970-01-01
  • 1970-01-01
  • 2012-06-08
  • 2019-11-12
  • 2018-05-27
相关资源
最近更新 更多