nodejs expressjs angularjs路由

我想从一个快速函数redirect到一个angularjs局部加载该视图的控制器。

app.js – > nodejs

function(req, res, next) { console.log(req.session); if(req.session.user/* && req.session.user.role === role*/) next(); else res.redirect("/#/login"); } 

app.js – > angularjs

 app.config(function($routeProvider){ $routeProvider .when("/create", { templateUrl : "/users/usersCreate", controller : "users" }) .when("/delete", { templateUrl : "/users/usersDelete", controller : "users" }) .when("/login", { templateUrl : "/sessions/sessionsCreate", controller : "sessionsCtr" }) .otherwise({ reditrectTo : "/" }); 

})

它不工作:(帮助

请求部分时,不能redirectAngular.js。 Angular.js正在发出一个AJAX调用,并且不会像浏览器那样遵循redirect响应。

这另一个答案提供了如何去做的指导:

https://stackoverflow.com/a/15261558/446681

根据您在应用程序中如何使用ng-view,可以使用节点有条件地呈现和发送部分。

Angular – >路由

  app.config(function($routeProvider){ $routeProvider .when("/create", { templateUrl : "/api/v1/partial/partialName", controller : "CtrlOne" }) .when("/delete", { templateUrl : "/api/v1/partial/partialTwoName", controller : "CtrlTwo" }) .otherwise({ reditrectTo : "/" }); 

节点

 app.get('/api/v1/partials/:partial', function (req, res){ var partial = req.params.partial if(req.session.auth){ res.render('views/partials/'+partial+'.jade'); } else { res.render('views/partials/login.jade'); } });