我想从快速函数重定向到angularjs partial以使用该视图的控制器加载。
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 : "/" });
})
它不起作用:(帮助
答案 0 :(得分:2)
根据您在应用中使用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');
}
});
答案 1 :(得分:1)
请求部分时,无法重定向Angular.js。 Angular.js正在发出一个AJAX调用,它不会像浏览器那样遵循重定向响应。
这个其他答案提供了如何进行的指导: