connect-flash和jade:无法显示flash flashahe

 用户7kxpkjs2ol 发布于 2023-02-07 16:32

我现在开始使用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闪烁错误/信息/任何消息.

我的玉模板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看,索引访问等但没有任何作用.我究竟做错了什么?我该如何解决?

1 个回答
  • 只需删除该行:

    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});
    }
    

    2023-02-07 16:34 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有