Angular JS使用http post重定向发送公共标头

时间:2016-05-12 11:46:10

标签: angularjs redirect express header http-post

我正在使用jts和node express使用jwt作为身份验证机制。我在angular中使用http post作为发布我的用户名和密码,它成功生成了jwt令牌。但是无法重定向任何其他页面。如何通过角度JS将该标记设置为其他页面中的标题。

我的角度控制器是,

  var app = angular.module('authenticate', []);

  app.controller('AuthenticateCtrl', function($scope, $http) {

      $scope.login = function() {
          option={'name':$scope.name,'password':$scope.password}
          $http({
          method : "POST",
          url : "/api/authenticate",
          data:option
          }).then(function mySucces(response) {
          $scope.message = response.data;
          //$scope.getData(response.data);
          $http.defaults.headers.common['x-access-token'] = response.data;
          window.location.href = '/api/home';
          alert("You are logged in.!");
          }, function myError(response) {
          $scope.message = response.statusText;
          //console.log(response.data);
          console.log(response.statusText);
          var alertPopup = $ionicPopup.alert({
              title: 'Login failed!',
              template: 'Please check your credentials!'
          });
          });
          }

  });

HTML 脚本是,

  <body ng-controller="AuthenticateCtrl">
  <div class="container">
  <h2>.</h2>
    <input type="text" name="name" ng-model="name" placeholder="Name" required="" autofocus="" class="form-control" /></p>
    <input type="password" name="password" ng-model="password" placeholder="Password" required="" class="form-control" /></p>
    <button ng-click="login()" class="btn btn-lg btn-primary btn-block">Login</button>
    <hr />
    {{ message }}
</div>
  </body>

和POST请求处理节点js部分是,

apps.get('/home', function(req, res, next) {
    res.sendFile(dirname+'/public/home.html');
    });

但重定向的主页显示

{"success":false,"message":"No token provided."}

消息。哪个是我的身份验证失败消息。 任何人都可以帮我解决这个问题。

0 个答案:

没有答案