Ionic - 如何将会话令牌存储为全局(对于app)可访问变量?

Vin*_*rdo 6 session angularjs ionic-framework

我知道我可以使用localstorage或SQLite,但我不确定如何做到这一点.

在我的应用程序中,我在Login控制器中获取会话令牌,我向服务器发出请求并返回获取会话令牌.

我不确定如何使这个令牌全局可访问.

PS:我对AngularJs很新.

Jes*_*ton 21

从服务器获取令牌后,在控制器中

$scope.token = token;
Run Code Online (Sandbox Code Playgroud)

你可以说

localStorage.setItem("token", $scope.token);
Run Code Online (Sandbox Code Playgroud)

然后,当你想要获取令牌时(比如在另一个控制器中),你只需说

$scope.token = localStorage.getItem("token");
Run Code Online (Sandbox Code Playgroud)

此外,如果他们重新打开应用程序,您甚至可以检查他们是否已经有令牌

if(localStorage.getItem("token") !== null && localStorage.getItem("token") !== ""){//go ahead and authenticate them without getting a new token.}
Run Code Online (Sandbox Code Playgroud)

另请注意,在注销时如果要清除令牌,则可以设置

localStorage.setItem("token", "");
Run Code Online (Sandbox Code Playgroud)

但请注意,您只能将本地存储设置为字符串,而不是布尔值或null.