Sencha touch 类型错误:对象#<;对象>;没有办法

Sencha touch 类型错误:对象#<;对象>;没有办法,sencha-touch,ibm-mobilefirst,worklight-adapters,Sencha Touch,Ibm Mobilefirst,Worklight Adapters,我正在使用Ibm Worklight开发一个混合应用程序,使用sencha touh for UI 在我的控制器中,我调用一个HTTPAdapter,如下所示: var invocationData = { adapter : 'UserHttpAdapter', procedure : 'getPersonneMorale', parameters : [] }; WL.Client.invokeProcedure(invocationData, { onSu

我正在使用Ibm Worklight开发一个混合应用程序,使用sencha touh for UI

在我的控制器中,我调用一个HTTPAdapter,如下所示:

var invocationData = {
    adapter : 'UserHttpAdapter',
    procedure : 'getPersonneMorale',
    parameters : []
};

WL.Client.invokeProcedure(invocationData, {
    onSuccess : function() {
        console.log('Signed in.');
        var loginView = this.getLoginView();
        mainMenuView = this.getMainMenuView();
        loginView.setMasked(false);

        Ext.Viewport.animateActiveItem(mainMenuView, this
                .getSlideLeftTransition());
    },
    onFailure : function(){
        console.log('failure');
    },
});
但我得到了一个错误:

07-07 11:43:45.812: E/NONE(31172): [http://<domain>:<port>/WLErsalMobileTest/apps/services/api/ErsalMobileTest/android/query] exception. TypeError: Object #<Object> has no method 'getLoginView'
07-07 11:43:45.832: D/CordovaLog(31172): file:///android_asset/www/default/worklight/worklight.js: Line 3333 : Uncaught TypeError: Object #<Object> has no method 'getLoginView'
07-07 11:43:45.832: E/Web Console(31172): Uncaught TypeError: Object #<Object> has no method 'getLoginView':3333
无需调用适配器,即可正常工作

你能帮帮我吗


谢谢

尝试执行以下操作:

WL.Client.invokeProcedure.apply(this, [invocationData, callbackFunction])

其中callbackFunction是上面的回调函数。我认为问题在于变量“this”没有在回调上下文中指定,因此通过使用apply,可以指定“this”应该是指定的值。试试看它是否有效,尽管我不确定它是否能解决您的问题,因为我不知道它是否会在回调函数中使用给定的“this”。

谢谢您的回答。实际上,问题在于“这个”。我做过这样的声明:var me=this;然后在我需要的时候使用我,它就起作用了
WL.Client.invokeProcedure.apply(this, [invocationData, callbackFunction])