我对节点和快递世界有点陌生,所以请原谅我的任何错误,我有几个方法在我使用这样的东西后返回 500。
req.flash('success', 'your password has been successfully changed.');
res.redirect('/user-profile');
我也试过用它发送状态
res.redirect(302,'/user-profile');
但它也没有成功
当我尝试重新加载页面时它工作正常(在第二次尝试时),但是如果我评论 req.flash 一切都开始正常工作,似乎它导致了问题,而它与我所在的其他方法一起工作正常像使用它一样
req.flash('success', 'You are logged out');
res.redirect('/login');
我的 index.js 文件中的代码
const express = require('express');
const router = express.Router();
const fs = require('fs');
const bcrypt = require('bcryptjs');
const app = require('../app');
const User = require('../model/user');
const passport = require('passport');
let path = require('path');
router.get('/user-profile', (req,res,next) => {
res.render('profile',{
title: 'Profile'
});
});
router.get('/logout', (req,res,next) => {
req.logout();
req.flash('success', 'You are logged out');
res.redirect('/login');
});
我的 app.js 中的代码
// Express Messages Middleware
app.use(require('connect-flash')());
app.use(function (req, res, next) {
res.locals.messages = require('express-messages')(req, res);
next();
});
我试图在网上找到解决方案,但无法使其正常工作。我真的很难调试任何帮助将不胜感激。