我正在尝试在列表中显示JSON数据,但我的javascript代码卡在wlCommonInit()函数的中间。
function wlCommonInit(){
WL.Logger.debug("inside the wlcommoninit");
busyIndicator = new WL.BusyIndicator('AppBody');
var $list = $("ul#myList");
$list.append('<li> ' + "resrere" +
'</li>');
getData();
$list.append('<li> ' + "resrere" +
'</li>');
}
function getData() {
$.mobile.showPageLoadingMsg();
WL.App.overrideBackButton (function(){WL.App.close();});
var invocationData = {
adapter : 'StudentInfo',
procedure : 'getStudentInfos'
};
WL.Client.invokeProcedure(invocationData,{
onSuccess : loadFeedsSuccess,
onFailure : getDataFailure,
});
}
function loadFeedsSuccess(result){
if (!result || !result.invocationResult || !result.invocationResult.items || result.invocationResult.items.length == 0)
alert("Could not retrieve feeds");
feeds = result.invocationResult.items;
$("ul#myList").empty();
for (var i=0; i<feeds.length; i++){
var dataItem = feeds[i];
var listItem = $("<li>" + dataItem.question + "</li>");
$("ul#myList").append(listItem);
}
}
在此代码中,它粘贴在getData();
它显示第一个“resrere”但它不显示第二个“resrere”。我找不到问题,所以我无法创建任何解决方案。谢谢你的帮助。
答案 0 :(得分:1)
items
应为resultSet
在本地测试并验证在以下更改后工作。
改变这个:
if(!result ||!result.invocationResult || !result.invocationResult.items || result.invocationResult.items.length == 0)
To This:
if(!result ||!result.invocationResult || !result.invocationResult.resultSet || result.invocationResult.resultSet.length == 0)
而且:
feeds = result.invocationResult.items;
对此:
feeds = result.invocationResult.resultSet;