执行会话后在浏览器中创建的会话。我关闭并打开会话将清除的同一浏览器。
$scope.logIn = function () {
$http(
{
method: 'post',
url: 'Service.asmx/fn_CheckLogin',
data: $.param({ strMob: $scope.login.mob, strPwd: $scope.login.pwd }),
dataType: 'json',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
}).success(function (data, status, headers, config) {
sessionStorage.user = data[0].UserName;
sessionStorage.loggedIn = true;
}).error(function (data, status, headers, config) {
sessionStorage.user = '';
sessionStorage.loggedIn = false;
});
};
答案 0 :(得分:0)
使用$ localStorage。 这是链接:https://github.com/gsklee/ngStorage
答案 1 :(得分:0)
回答OP添加的评论。
是的,可以在角度控制器中的文档就绪上执行代码。
在基础(主)控制器中追加以下事件:
angular.element(document).ready(function () {
// code you need to execute on document ready
});
会话存储:
页面会话结束时,会在sessionStorage中存储的数据被清除。只要浏览器处于打开状态,页面会话就会持续,并且会在页面重新加载和恢复后继续存在。 在新标签页或新窗口中打开页面会导致启动新会话,这与会话Cookie的工作方式不同。
编辑(回答Op对此答案的评论):
要在用户关闭浏览器后维护信息,您需要使用localStorage
。
谷歌它,它与sessionStorage的使用类似,很容易理解。找到这个codepen来帮助你。仍然阅读它,然后才使用它。
此外,如果您愿意讨论,我建议您只在localStorage
中存储用户名而不是像logedIn这样的标志,而是在服务器上保存此信息。然后,每当用户关闭一个系统上的浏览器并从其他系统登录并注销时。他将从他使用过的所有系统中退出。这是大多数Web应用程序的可接受行为。