0

我无法让 Worklight 注销工作。

注销按钮:

<input type="button" value="Logout2" onclick="WL.Client.logout('AuthRealm',{onSuccess: WL.Client.reloadApp})" />

当点击它时,我得到:

onLogoutSuccess: realm: AuthRealm is undefined

但是领域定义得很好,点击后会调用该领域的注销功能。我调查了 Worklight 来源,发现问题出在:

onLogoutSuccess(transport=klass { request=klass, transport=XMLHttpRequest, readyState=4, more...})wlclient.js (line 1298)

所以错误是从:

if (typeof userInfo[realm] === "undefined") {
    WL.Logger.error('onLogoutSuccess: realm: ' + realm + ' is undefined');
    return;
} 

我应该在哪里设置用户信息?或者为什么会抛出这个错误?我在示例来源中没有找到任何信息。

4

1 回答 1

0

仅当我的设备尚未以任何方式连接到 Worklight 服务器时(尚未登录到领域、initOnStartup=false、没有适配器调用等),我才能够重现

看起来,如果客户端尚未与 Worklight 服务器通信,它对领域一无所知,因此在尝试注销领域时会引发错误。尝试添加检查以查看用户是否已登录到领域,或者确保用户在能够注销之前已连接到 Worklight 服务器。

即使他们还没有登录到领域,如果设备至少连接到服务器一次,它就会知道领域。

于 2013-11-15T18:11:51.407 回答