使用express-flash,控制台没有显示日志,甚至没有到达我的ejs文件来设置toastr通知



我已经设置了express-flash,认为它适合我需要的,但不知为什么不能工作。

我已经看了大约5个youtube视频,我就是不能修复它。

编辑:认为这可能是我的配置的东西,或者也许我需要将闪光灯应用到路由器而不是应用程序,因为我使用路由器代替?

这是我的路由器正在监听/profile GET:

router.get("/profile", userController.userAuth, (req, res) => {
// userAuth just returns next with the users data to render
if (req.user) {
res.render("profile", {
message: req.flash("message"),
status: "loggedIn",
user: req.user,
error: false
});
} else {
res.redirect("/404");
};
});

这是我的路由器post监听/profile post

router.post("/profile", upload.single('sampleFile'), (req, res) => {
// it does file uploading usually, but commented all out for testing this
req.flash('message', 'This is a flash test.');
return res.redirect('/profile');
});

这是我在客户机上的.ejs文件,监听新消息并使用toastr

显示它们
<% if (message.length > 0) { %>
<script>
var message = "<%= message  %>";
toastr.success(message, "Success", {
positionClass: 'toast-bottom-left'
});
</script>
<% } %>

在控制台上没有任何类型的错误或任何东西。不知道到底是什么问题…

显然已经尝试删除upload.single('sampleFile')只是以防万一:

router.post("/profile", upload.single('sampleFile'), (req, res) => {
// it does file uploading usually, but commented all out for testing this
req.flash('message', 'This is a flash test.');
return res.redirect('/profile');
});

——什么也没做

试着把ejs分解成一个简单的段落元素

<p> <%= message  %> </p>

——什么也没做

您介意分享其余的服务器代码吗?您可能已经这样做了,但是您正在初始化express-flash吗?

const express = require('express');
const router = express.Router();
const flash = require('express-flash');
// initialize express-flash
app.use(flash());
// continue rest of server code

相关内容

  • 没有找到相关文章