gpt4 book ai didi

javascript - connect-flash 和 jade : unable to show flash messahe

转载 作者:搜寻专家 更新时间:2023-11-01 00:15:18 26 4
gpt4 key购买 nike

我现在开始使用 Express,想显示一个简单的 flash 错误消息,但它不起作用。

app.js

var flash = require('connect-flash');
...

var app = express(); // create an express app

// configure environments
app.configure(function(){
...
app.use(express.cookieParser('keyboard cat'));
app.use(express.session({ cookie: { maxAge: 60000 }}));
app.use(flash());
app.use(app.router);
});

app.get('/signup', routes.signup);
app.post('/signup', routes.adduser);
...

还有我的router.js

exports.signup = function(req, res) {
console.log(req.flash('error'));
res.render('signup', {message: req.flash('error')});
}

exports.adduser = function(req, res) {

// get the form values from "name" attribute
var username = req.body.username;
var email = req.body.useremail;
var password = req.body.userpassword;

User.findOne({'username': username}, function(err, user) {
if (user) {
console.log('user exists');
req.flash('error', 'Username exists');
res.redirect('/signup');
} else {
...
...

现在,我想要的是,如果用户存在,则重定向回 signup,并显示闪烁的错误/信息/任何消息。

我的jade模板signup.jade

extends ../layouts/default

block content
h1 Sign Up

if message && message.length
strong #{message}

form#formAddUser(name="adduser", method="post", action="/signup")
input#inputUserName(type="text", placeholder="username", name="username")
input#inputPassword(type="password", placeholder="password", name="userpassword")
input#inputUserEmail(type="text", placeholder="email", name="useremail")
button#btnSubmit(type="submit") Sign Up

这不会显示任何错误。我也尝试过 for 外观、索引访问等,但没有任何效果。我究竟做错了什么?我该如何解决这个问题?

最佳答案

只需删除该行:

console.log(req.flash('error'));

req.flash(name) 表示获取和移除 flash。所以如果你调用 req.flash 两次,第二次调用将返回空数组。

你也可以这样做:

exports.signup = function(req, res) {
var error = req.flash('error');
console.log(error);
res.render('signup', {message: error});
}

关于javascript - connect-flash 和 jade : unable to show flash messahe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20828211/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com