我使用护照和闪存来管理身份验证。我想根据文档将闪现消息发送回用户界面。在我的用户界面场景中,我使用的是模态,所以执行
res.render('login.ejs', { message: req.flash('loginMessage') });
Run Code Online (Sandbox Code Playgroud)
不起作用,因为您只能在页面刷新时呈现。因此,当由于某种原因无法登录时,如何将闪存数据或任何其他类型的数据发送到我的页面。无论特别是 Flash 数据如何,我都无法弄清楚如何使用 Express 将数据渲染到模态。
路线.js
低于 res.render 的情况永远不会在身份验证失败时发生。
//Home Page ===================================
app.get('/', function(req, res) {
res.render('login.ejs', { message: req.flash('loginMessage') });
});
//Login Modal =================================
app.post('/login', passport.authenticate('local-login', {
successRedirect : '/profile',
failureFlash : true
}));
Run Code Online (Sandbox Code Playgroud)
index.ejs (我的模式在哪里)
res.render('login.ejs', { message: req.flash('loginMessage') });
Run Code Online (Sandbox Code Playgroud)
我的理解是我需要使用 javascript/ajax 来防止帖子被重定向,但我无法弄清楚如何获取 Flash 数据:
索引.ejs (javascript)
//Home Page ===================================
app.get('/', function(req, res) {
res.render('login.ejs', { message: req.flash('loginMessage') });
});
//Login Modal =================================
app.post('/login', passport.authenticate('local-login', {
successRedirect : '/profile',
failureFlash …Run Code Online (Sandbox Code Playgroud)