如何在登录请求之前使用AngularJs删除浏览器缓存?

时间:2014-11-16 19:40:19

标签: javascript html angularjs twitter-bootstrap caching

我已经使用bootstrap和angularjs创建了一个登录html登录页面。我删除了bootstrap代码以使html代码更清晰。我有一个UserController(Angular控制器)。其中我实现了submitCredentials功能。这是html登录页面:

<div id="alertBox" data-ng-show="error" class="alert alert-danger">
            <button type="button" data-ng-click="error = null;" class="close">&times;</button>
            <strong>Oh no!&nbsp;</strong><span data-ng-bind="error"></span>
        </div>
<div ng-controller="UserController">
<h4>Login</h4>
<form class="form-horizontal" role="form" name=loginForm" novalidate="novalidate">

      <input type="email" name="email" class="form-control" id="inputEmail3" placeholder="Email" ng-model="credentials.email" required>


      <input type="password" name="inputPassword" class="form-control" id="inputPassword" placeholder="Password" ng-model="credentials.password" ng-minlength=8 required>

      <button ng-click="submitCredentials(credentials)" class="btn btn-primary">Sign in</button>

</form>

这是我的控制器代码:

$scope.submitCredentials = function(user) {
            UserService.authenticate(user)
            .success(function(data) {
                $scope.data = data;
                $scope.loading = false;
                var authToken = data.token;
                $rootScope.authToken = authToken;
                if(authToken){
                    $rootScope.authenticated=true;
                    $location.path('/');
                }
            })
            .error(function(data) {
        $rootScope.error = "Failed to login";
        $location.path('/users/login');
    }); 

控制器功能运行良好。我使用UserService angularjs服务和对Spring MVC后端的make http调用。这项工作很好。

问题在于登录表单中的alertBox。

<div id="alertBox" data-ng-show="error" class="alert alert-danger">
                <button type="button" data-ng-click="error = null;" class="close">&times;</button>
                <strong>Oh no!&nbsp;</strong><span data-ng-bind="error"></span>
            </div>

登录失败时会显示此警告框。 $ rootScope.error值设置。当我第一次尝试使用错误的凭据登录时。将显示alertBox,然后使用我的按钮关闭alertBox。当我再次尝试使用错误的凭据时,第二次不会显示alertBox。我已删除浏览器缓存(CTRL + F5)以在我使用错误凭据的sublit表单时显示alertBox。 如何在登录请求之前使用AngularJs删除缓存?

0 个答案:

没有答案