簡體   English   中英

IBM Worklight-適配器Javascript失敗

[英]IBM Worklight - Adapter Javascript fails

我試圖在列表上顯示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”。 我找不到問題,所以無法創建任何解決方案。 謝謝你的幫助。

items應該是resultSet
經過以下更改后,在本地進行了測試並經過驗證可以正常工作。

更改此:

if(!result ||!result.invocationResult ||!result.invocationResult.items || result.invocationResult.items.length == 0)

為此:

if(!result ||!result.invocationResult ||!result.invocationResult.resultSet || result.invocationResult.resultSet.length == 0)

和這個:

feeds = result.invocationResult.items;

對此:

feeds = result.invocationResult.resultSet;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM