IBM Worklight - 适配器Javascript失败

时间:2014-04-25 23:48:33

标签: javascript ibm-mobilefirst worklight-adapters

我正在尝试在列表中显示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”。我找不到问题,所以我无法创建任何解决方案。谢谢你的帮助。

1 个答案:

答案 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;