我需要一个受密码保护的硬编码页面。我使用href重定向到页面/ admin / user / password:
<a ng-href="/admin/{{user}}/{{password}}" class="form-control btn btn-primary" >Submit</a>
我使用angular $ scope.user和$ scope.password作为输入字段的ng-models。此请求由Express route.get函数捕获:
app.route('/admin/:user/:password')
.get(admin.renderAdmin);
以下是我的admin.renderAdmin页面:
exports.renderAdmin = function (req, res) {
console.log("Requested with username and password");
if (req.params.user === "*******" && req.params.password === "******") {
res.location('/admin');
res.render('admin');
} else {
res.send(null);
}
};
/ admin是我需要的网址,admin.ejs存储我要在此网址上呈现的html。
我得到的输出是页面呈现admin.ejs,但url没有变化,它与href相同。
请帮助我解决我在这里可能做错的事情。提前谢谢。
答案 0 :(得分:0)
也许尝试使用回调渲染?
// if a callback is specified, the rendered HTML string has to be sent explicitly
res.render('admin', function(err, html) {
res.location('/admin');
res.send(html);
});
此外,如果您希望页面实际更改,则应使用res.redirect()
而不是res.location()
。