2015-11-20 3 views
0

Я смущен тем, как перенаправить страницу после успешного входа в систему с использованием паспорта.паспорт перенаправлен после авторизации с помощью Angular.js

в Node.js код

app.post('/auth/login', passport.authenticate('local', 
{ 
    successRedirect: '/index.html#/page1', // why this not working ? 
    failureRedirect: '/login', 
})); 

в угловых код routeProvider,

app.controller('authController', function($scope, $http, $location, $window) { 
    $scope.user = {username:'', password:''}; 
    $scope.alert = ''; 

    $scope.login = function(user) { 
     $http.post('/auth/login', user). 
      success(function(data) { 
       console.log("you are at /auth/login 0"); 
       $scope.loggedUser = data; 
       //$location.path('/index.html'); // why this not working ? 
       $window.location.href = "/index.html#/page2"; // this works 
      }). 
      error(function() { 
       console.log("you are at /auth/login 1"); 
       $scope.alert = 'Login failed' 
      }); 
    }; 

    .... 
}); 

Кстати, на моей домашней странице по умолчанию установлен login.html, не index.html.

Вопрос в том, почему перенаправление в successRedirect в коде node.js не работает? Если я должен сделать это в коде Angualr, что это правильный способ сделать это?

Спасибо!

ответ

0

использование $location.path("/"); для перенаправления в угловом

EDIT

вы должны сделать файл как этот

angular.module('authModule', []) 
    .config(function ($routeProvider, $httpProvider) { 
    $routeProvider 
     .when('/login', { 
     templateUrl: 'views/auth/login.html', 
     })  
     .....   
     .otherwise({ 
     redirectTo: '/' 
     }); 
    }); 

так что вы можете использовать $location.path("/login"); для перенаправления Войти стр

+0

My по умолчанию Домашняя страница - login.html, а не index.html. Поэтому, если вы используете «/», он снова вернется на страницу входа в систему, чего я не хотел. Тогда, если я использую «/ home», который маршрутируется в index.html в $ routeProvider, полагайте, что ничего не появляется. – user3552178

+0

@ user3552178 проверить ответ, возможно, проблема, потому что '/ home' не отображается, потому что вы не определили маршрут – oriaj

Смежные вопросы