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;
} 

userInfo はどこに設定すればよいですか? または、なぜこのエラーがスローされるのですか? サンプルソースに情報が見つかりませんでした。

4

1 に答える 1

0

デバイスがまだ Worklight サーバーに接続されていない場合 (レルムにまだログインしていない、initOnStartup=false、アダプター呼び出しがないなど) にのみ再現できました。

クライアントがまだ Worklight サーバーと通信していない場合、クライアントはレルムについて何も認識していないため、レルムからログアウトしようとするとエラーがスローされるようです。ユーザーがレルムにログインしているかどうかを確認するチェックを追加するか、ログアウトする前にユーザーが Worklight サーバーに接続していることを確認してください。

レルムにまだログインしていなくても、少なくとも 1 回サーバーに接続したことがあれば、デバイスはそのレルムを認識します。

于 2013-11-15T18:11:51.407 に答える