Javascript 如何缓存登录数据AngularJS?

Javascript 如何缓存登录数据AngularJS?,javascript,angularjs,http,caching,login,Javascript,Angularjs,Http,Caching,Login,我最近尝试创建一个登录页面,当用户登录时,会出现一个弹出框,询问他们是否要保存凭据。如果是,那么下次用户进入登录页面时,ID和密码已经填写完毕。另外,除非他们是新用户,否则弹出窗口将不会再次出现。有人能告诉我如何缓存登录数据吗 JS: 输入: 您可以使用$window对象的$localStorage来存储用户数据。在清除浏览器缓存之前,此数据将一直保留 虽然如果你不储存你的用户名和密码会更好。相反,您可以存储登录状态。比方说,用户登录后,现在您可以在localstorage中存储一个值设置为tr

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

JS:

输入:

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


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

请注意,填写密码字段是一种非常糟糕的做法,因为任何对web检查工具稍有了解的人都可以看到密码字段后面隐藏着什么。相反,您应该希望覆盖登录页面。也就是说,如果登录页面检测到持久化凭据,它不会显示表单,而是返回到上一页或索引。这是出于演示目的,目前不需要保护。这只是为了当它被演示给人们时,我不必再次重新输入凭据。也许你只需要你的浏览器来存储这些凭据?如果没有提示,请确保您没有禁用浏览器配置中的功能,并且表单被正确识别为登录表单。我认为输入类型=密码是标准;弹出窗口将被浏览器替换,提示您输入凭据存储。因此,我是否应该使用$localstorage保存这些凭据,并需要确保web浏览器没有禁用该功能?准确地说,它甚至没有真正填充密码字段,它只是把星星放在这里,只有在提交表单时才会发送密码。这只是为了演示,目前不需要保护。这只是为了当它被演示给人们时,我不必再次重新输入凭据并再次使用$localstorage
//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>