【发布时间】:2014-05-04 23:30:13
【问题描述】:
我在 worklight 6.1 中创建了一个 SQL 适配器,其中包含用于脱机 JSONStore 的过程。
我可以使用以下函数调用适配器过程,然后执行查询。
但是我无法使用调用结果。
function aa() {
try{
var result=WL.Client.invokeProcedure({
adapter : 'DB2',
procedure : 'getDB2',
parameters : [x,y]
invocationContext:{}
}, {
onSuccess : function(result) {
alert("login Success"); WL.Logger.debug("Retrieve success" + JSON.stringify(result));
//THIS IS NOT WORKING.I CANT SEE THE RESULT IN MY BROWSER
displayFeeds(result.invocationResult.resultSet);
document.getElementById("div4").innerHTML = result.invocationResult.resultSet[1].NAME;
},
onFailure : function(result){alert("login Failure");}
});
}
catch(e) {
alert("ERROR::"+e);
}
}
function displayFeeds(items){
var ul = $('#itemsList');
for (var i = 0; i < items.length; i++) {
var li = $('<li/>').html(items[i].PIN);
li.append($('<li/>').html(items[i].NAME));
li.append($('<li/>').html(items[i].DOB));
li.append($('<hr>'));
ul.append(li);
}
}
HTML:
...
...
<ul data-role="listview" id="itemsList" data-inset="true"> </ul>
<a href="#" data-role="button" id="button" onclick = "aa()">Show Name List</a>
<div id="div4"></div>
【问题讨论】:
-
状态 200 不是唯一成功的状态。例如,状态 202 是成功的(有点,是服务器说“我明白你想让我做什么”),状态 204 是成功的(服务器说“我已经完成了你要求我做的事情”)。
-
从适配器过程返回调用结果时,状态代码和 JSON 对象被传递给 onSuccess() 函数..我无法在浏览器中看到结果..
-
能否描述一下“结果”对象中返回的内容?
-
感谢 Idan Adar..在打开 worklight JSON 存储时,它说“适配器返回 isSuccessful=true,但状态码不是 200”..这意味着只有 resultSet 对象被传递
-
@user3305763,结果的内容是什么?右键单击适配器并选择运行方式 > 调用 Worklight 过程。编辑问题。
标签: ibm-mobilefirst worklight-adapters jsonstore