javascript - 如何使用 angularJS 存储登录信息

标签 javascript angularjs web-applications

我目前正在使用 angularJS 开发一个小应用程序; 用户必须通过登录表单,然后他们可以单击一些显示从服务器获取的数据的链接。

登录表单仅接受用户的输入,然后将其“存储”到工厂中

app.factory('IdFormHolder', function () {
    var that = this;

    that.setId = function (data) {
        that = data;

    };
    that.getId = function () {
        return that;
    };

    return that;
});

效果很好,我需要将其存储起来,因为每次我执行 $http.get 作为 header 时,服务器都需要发送登录表单。

每个 Controller 从工厂获取登录表单,并使用它从服务器获取数据。

这工作正常,直到有人决定刷新页面,此时工厂似乎从其登录表单中“清空”,然后网络应用程序无法显示任何内容。

有没有办法存储此登录信息,使其不那么容易被删除?

最佳答案

您可以在安装 sessionStorage 后使用此代码:

app.factory('IdFormHolder', ['$sessionStorage', function ($sessionStorage) {
    var that = this;

    that.setId = function (data) {
        $sessionStorage.id = data;
        that = data;

    };
    that.getId = function () {
        return $sessionStorage.id;
    };

    return that;
}]);

下载链接:https://github.com/gsklee/ngStorage

关于javascript - 如何使用 angularJS 存储登录信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38309250/

相关文章:

javascript - VueJS : Deleting dinamically rendered component in array with splice() method based on provided index, 不起作用

javascript - 如何正确应用康威的生命游戏勾选?

javascript - 页面加载后显示 block 几秒钟

javascript - 单击时调用动画

javascript - 在 Karma/Jasmine 测试中模拟 Enter 键按下输入

angularjs - 在 ng-repeat AngularJS 中指定元素

c# - .NET和负载均衡器?

javascript - 如果未选中复选框,则禁用按钮

node.js - 架构:有效地计算和维护类似 Reddit 的网站中用户提交的分数

PHP/MySql 集群