在Worklight 6.1中调用busyInd.hide()之前,Busy Indicator隐藏在Android中

时间:2016-08-03 14:48:12

标签: javascript android ibm-mobilefirst

使用的是IBM Worklight Studio 6.1.0.02-20160314-1430

使用多页和适配器。 onSuccess函数我正在加载另一个页面。并在页面加载后在onSuccess函数中写入busyInd.hide()。在页面加载之前问题是繁忙的指示器隐藏。从适配器下一页加载响应后,但同时忙指示消失,然后加载下一页。它仅在Android的情况下发生,并且相同的代码在IOS和WindowsPhone8中正常工作。

this.form3Submit = function(){
        var sessionid="userID";
        busyInd.show();
        var invocationData = {
            adapter : "API_Adapter",
            procedure : "SomeSubmit",
            parameters : [sessionid],
            compressResponse : true
        };

        WL.Client.invokeProcedure(invocationData, {
            onSuccess : form3SubmitSuccess,
            onFailure : AdapterFail,                
            timeout: timeout
       });

};


form3SubmitSuccess = function(result){
    invocationResult = result.invocationResult;
    if(invocationResult.isSuccessful) {
        $("#contentData").load("Views/form4.html", null, function (response, status, xhr) {
                        referenceno = invocationResult.something.Response.somerefno;

                         if(referenceno != ''){
                            //some lines of code
                        }

                        if(invocationResult.something.STATUS.CODE == '0'){
                            //some lines of code
                            busyInd.hide();

                        }else{
                            //some lines of code
                            busyInd.hide();
                        }

                        ko.applyBindings(self, $(".dynamic-page-content").get(0));
                        busyInd.hide();
                    });
                }
            busyInd.hide();
    };

在main.js中声明忙碌指示符,注意如下

var busyInd;
function wlCommonInit(){
  busyInd = new WL.BusyIndicator('content', {text : 'Loading...'});
}

1 个答案:

答案 0 :(得分:1)

您正在将另一个页面加载到以前显示忙指示符的视口中,实际上您通过完全替换HTML来删除忙指示符。这是预料之中的。

如果您希望在加载form4.html后仍显示忙碌指示符。在将HTML页面加载到视口后,您需要先再次显示它。