如何缓存登录数据AngularJS

How to cache login data AngularJS?

本文关键字:登录 数据 AngularJS 缓存 何缓存      更新时间:2023-09-26

我最近尝试创建一个登录页面,当用户登录时,会出现一个弹出框,询问他们是否要保存凭据。如果是,那么下次用户进入登录页面时,ID &密码已填写。此外,除非他们是新用户,否则不会再看到弹出窗口。有人能告诉我如何缓存登录数据吗?

JS:

//Check login credentials against db
          $http.post('http://178.32.64.76:8765/login', {
            IDNumber: $scope.login.IDnumber,
            password: $scope.login.password
          })
          .then(function(response) {
            $scope.status = response.status;
              var confirmPopup = $ionicPopup.confirm({
                template: 'Do you want to save your login credentials?',
                okText: 'Yes',
                cancelText: 'No'
              });
              confirmPopup.then(function(popupResponse) {
                if (popupResponse) {
                //Caching code will go here
              }
              $state.go('tab.dash');
              });
输入:

<input name="IDnumber" type="text" placeholder="ID Number"
ng-model="login.IDnumber" ng-minlength="10" ng-maxlength="10" numbers-only required>
<input name="password" type="password" placeholder="Password"
ng-model="login.password" required>

可以使用$window对象的$localStorage来存储用户数据。此数据将一直保存,直到浏览器缓存被清除。

虽然如果你不存储你的用户名和密码会更好。相反,您可以存储一个登录状态。例如,一个用户登录了,现在您可以在localstorage中存储一个令牌,将值设置为true,然后使用它直接登录用户。