为什么在node.js中渲染ejs文件时重定向方法不起作用?

时间:2015-10-21 10:28:43

标签: node.js ejs

我正在研究node.js你能告诉为什么重定向方法不起作用吗?一世   在ejs文件中有一个代码,用于在app.js中调用order(get方法)路由。

app.js下的代码:

app.get('/order', routes.auth,routes.order);

index.js下的代码:

exports.auth = function (req, res, next) {
if (req.session.authenticated) {
next();
} else {
res.redirect('signin');
}
};

为什么重定向方法不是去signin.ejs文件?它总是显示404   发现消息甚至登录页面可用。在快递3版本重定向方法   支持与否?任何人都可以澄清这个吗?   还请告诉我渲染和重定向之间的区别。

谢谢&问候

2 个答案:

答案 0 :(得分:0)

你可以在这里阅读:http://expressjs.com/api.html(编辑:或者在这里,因为你似乎在使用Express 3:http://expressjs.com/3x/api.html

redirect将用户的浏览器重定向到另一个地址。这意味着,例如,如果用户访问myadress.com/redirect-me',并且您将其重定向到' / i-was-redirected',他将转到' myadress.com/i-was-redirected'

render用于在浏览器所在的当前地址显示模板(例如.ejs)。

如果您只有.ejs个文件,则可能需要render。但我建议制作signin路线,然后重定向到那里。

答案 1 :(得分:0)

您是否定义了要使用的视图目录和引擎?如果没有添加这些行并检查

data = os.popen('ar t %s' % file).read() //设置引擎

app.set('view engine', 'ejs');