首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Connect flash在Pug中未显示消息

基础概念

connect-flash 是一个用于 Express.js 的中间件,用于在请求之间存储一次性消息。这些消息通常用于在用户执行某些操作后显示通知或错误信息。connect-flash 依赖于 session 来存储消息。

相关优势

  1. 一次性消息:消息只在当前会话中显示一次,之后会自动清除。
  2. 灵活性:可以轻松地在不同的路由和视图中传递消息。
  3. 易于集成:与 Express.js 和其他中间件(如 express-session)集成非常简单。

类型

connect-flash 主要用于存储以下类型的消息:

  • 通知消息:告知用户操作成功。
  • 错误消息:告知用户操作失败或出现错误。

应用场景

  • 用户注册成功或失败后的通知。
  • 表单提交后的成功或错误提示。
  • 密码重置或更改后的通知。

问题原因及解决方法

问题描述

在 Pug 模板中使用 connect-flash 时,消息未显示。

原因

  1. 未正确配置 express-sessionconnect-flash 依赖于 express-session,必须先配置 express-session
  2. 未正确使用 connect-flash 中间件:需要在 Express 应用中正确引入和使用 connect-flash
  3. Pug 模板中未正确显示消息:需要在 Pug 模板中正确引用和显示消息。

解决方法

  1. 配置 express-session
代码语言:txt
复制
const express = require('express');
const session = require('express-session');
const app = express();

app.use(session({
  secret: 'your-secret-key',
  resave: false,
  saveUninitialized: false
}));
  1. 引入和使用 connect-flash
代码语言:txt
复制
const flash = require('connect-flash');
app.use(flash());
  1. 在 Pug 模板中显示消息
代码语言:txt
复制
doctype html
html
  head
    title Connect Flash Example
  body
    if messages.error
      div.error #{messages.error}
    if messages.success
      div.success #{messages.success}
  1. 在路由中设置消息
代码语言:txt
复制
app.get('/success', (req, res) => {
  req.flash('success', 'Operation successful!');
  res.redirect('/');
});

app.get('/error', (req, res) => {
  req.flash('error', 'Operation failed!');
  res.redirect('/');
});

参考链接

通过以上步骤,你应该能够在 Pug 模板中正确显示 connect-flash 的消息。如果仍然有问题,请检查控制台和日志,确保没有其他错误。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

IM群组接收后端发送来的消息,需要显示还需要保存在本地,应该怎么处理呢?

image.png TUIKit回调了这个方法后发送了一个通知 image.png 如果您是用了TUIkit的话,您只要注册这个通知即可接受到消息,并调用自己的方法 image.png 保存本地并显示消息...现将这条消息保存到本地,我们可以使用一下api来保存消息 /** * 4.8 向群组消息列表添加一条消息 * * 该接口主要用于满足向群组聊天会话插入一些提示性消息的需求,比如“您已经退出该群...”,这类消息有展示 * 聊天消息区的需求,但并没有发送给其他人的必要。...* * @return msgID 消息唯一标识 * @note 通过该接口 save 的消息只存本地,程序卸载后会丢失。...message to:groupId sender:@" " succ:^{ } fail:^(int code, NSString *desc) { }]; 显示消息

1.9K10
  • Express服务器开发

    命令行安装Express框架: cnpm install express --save Express框架安装在node_modules目录,然后需要一起安装如下模块: body-parser是node.js...response对象为HTTP响应 res.app 为callback,回调函数外部文件,利用res.app访问express的实例 res.append() 追加指定HTTP请求头 res.set() res.append...请求一个指定资源的表示形式,只用于获取数据 POST 用于将尸体提交到指定的资源 HEAD 请求一个与GET相同的响应,但没有响应体 PUT 用于请求有效载荷替换目标资源的所有当前表示 DELETE 删除指定的资源 CONNECT.../views'); // 添加HTTP路由 app.get('/', function(request, response){ response.render('index.pug'); // 输出响应消息...()函数,会把编译出来的函数自动储存到内部缓存 作者Info: 【作者】:Jeskson 【原创公众号】:达达前端小酒馆。

    1.9K20

    NodeJS+Express中集成Flash消息

    中间件: connect-flash 地址:https://github.com/jaredhanson/connect-flash flash消息用于重定向跳转时传递消息Express中集成方法如下...: 项目中集成 安装connect-flash中间件 npm install --save connect-flash main js 引入(通常是app.js或者项目名.js文件)中间件并加载...var flash = require('connect-flash'); app.use(flash()); 到这里,我们的集成工作已经完成,就可以router中使用类似 req.flash('flash_success_message...; 传递flash消息了! 下面教大家如何完整定义一套flash message前后端解决方案。... {{/if}} 具体意思就是:前端视图中动态判断中间件定义的flash_success_error和flash_success_message两个变量,如果有值,就将其对应的内容渲染处理

    1.2K20

    Hexo-Butterfly主题魔改

    // 当用户滚动并到达此距离时,将显示隐藏的框。 // 可以自行配置 live: true, // 页面上检查新的 wow.js元素。...inject 大项的 bottom 小项添加 script 引入项: - 3.给你想要特效的类元素添加...butterfly 主题配置添加以下配置: # banner样式 bilibili_banner: enable: true # 开关banner style: winter # autumn...秋季样式 ;winter 冬季样式 除了主题配置文件通过配置 bilibili_banner: 的默认项,还可以每个页面的 markdown 文件通过 front-matter 控制单页配置。...#05264c']" #天青色调 然后参照上面的配置就行辣~ 关于配置 apiurl 可以参照Akilar 大佬的文章自建 API 哦 各位有什么想魔改的可以评论以一下(只要不太难,毕竟我还是个 初

    2.5K20

    FlashFlex学习笔记(53):利用FMS快速创建一个文本聊天室

    ; import flash.events.MouseEvent; import flash.events.NetStatusEvent; import flash.events.KeyboardEvent...("rtmp://localhost/chat",userName);//注:这里的userName是第一帧定义的 updateMsg("正在连接服务器..."); btnSend.addEventListener...+" 进入聊天室"; application.broadcastMsg("showmsg",hellomsg);//调用所有client的showmsg方法,并传递参数hellomsg(客户端的代码,...: 注:艾睿论坛上曾有一篇教程利用FMS的远程共享对象来创建聊天室,远程对象在编码上也许更简单,不过个人感觉性能不太理想(因为对于共享对象的广播是FMS自动的,完全不受控制,不管客户端想不想接收消息,都会被动接收消息...答:silverlight做聊天室应用,往往需要开发者自己做一个(scoket) server端,而adobe的fms正好充当了这个角色,省去了这一步之后,程序员只需要把注意力集中客户端和业务逻辑上即可

    63290

    jlink烧录教程_自制flash烧录器

    本文主要向大家介绍了Flash基础入门之J-Link固件烧录以及使用J-Flash向arm硬件板下载固件程序,通过具体的内容向大家展现,希望对大家学习Flash基础入门有所帮助。...); 5.断开图中TST(B)处的短接 重烧固件的关键是完成上述5各步骤后,再次连接J-Link,要确保设备管理器驱动的状态是“识别的设备”云云,如果已经自动安装了一个似乎是“SAM…(名字记不全了...由于这款软件是Atmel公司的,正如前面所述,打开这款软件连接J-Link,应确保J-Link的驱动设备管理器显示的是“Atmel…”(名字记不太清了,这个驱动安装前提示J-Link驱动识别->右键更新驱动...打开J-Flash,使用J-Link连接ARM9板子,点击Target标签connect,然后可能会出现固件需要更新的提示。此时,若不更新则总是会出现连接超时而失败;若更新仍可能出现失败。...之后,再次点击Target标签connect,同意刷新固件,便更新成功了(我猜想还有一种方法是通过修改固件的日期?因为是否提示更新,主要是依据原固件是否为最新编译日期。

    2.8K30

    1分钟链圈|Facebook用户正转向基于区块链的社区;微软将包括HyperLedger在内的6万项专利全部开源

    公链 以太坊确认交易数量为33438笔,拥堵情况明显好转 EOS区块链活跃度指数排名第二 观点 报告显示:区块链人才呈现“虚假繁荣”的景象 “末日博士”连发数条推特抨击加密货币及区块链 调查:美国男性投资加密货币的意愿强于女性...(Coindesk) 2.伪装成Flash更新安装包的新型挖矿恶意代码正在传播 降维安全实验室称,该木马启动后,安装门罗币挖矿工具XMRig的同时,会自动从Adobe官网下载最新版的Flash播放器更新包并进行安装...,貌似“真实”地更新Flash,降低被发现的可能。...(36氪) 3.以太坊确认交易数量为33438笔,拥堵情况明显好转 据Etherscan.io数据显示,当前以太坊确认交易数量为33438笔,较昨日同比下降60.48%,网络拥堵情况明显好转。...这并不仅限于千禧一代,美国大多数年龄段的男性,有17%打算在未来12个月内投资加密货币,而女性有此打算的仅占比8%。

    55320

    手撕Rtmp协议细节(4)——connect消息

    connect消息由四部分组成,首先是command name,用字符串类表示命令的类型,即"connect";在其之后紧跟着的是事务id,该值永远设为1;再之后是connect消息承载的所有object...app是application的缩写,代表客户端要链接到的,rtmp服务器的应用程序,这个一般我们nginx服务器的配置选项可以看到。...flashVer表示flash播放器的版本号,同样首先通过一个字符串来表示object的类型;然后再用AMF0的编码格式对具体的值进行编码,此处是flash的版本号,采用字符串表示,值为"LNX 9,0...3.connect消息流 好了,这样客户端发送给server的connect消息就组装完成了。...服务端同时连接到connect请求的application; 服务端发送协议消息“Set Peer BandWidth”到客户端; 客户端处理完服务端发来的“Set Peer BandWidth”消息

    1.9K30

    FlashFlex学习笔记(10):FMS 3.5之Hello World!

    (至少Silverlight"实时广播"方面目前还没有任何能超越FMS的迹象) 曾经盛极一时的tudou,ku6,第一视频...等一大堆视频分享类网站,几乎都使用的是Adobe的FMS技术....HelloWorld.fla" 拖二个按钮到舞台上,命名为btnConn,btnDisConn;对应的label文本为:"连接到FMS","断开与FMS的连接" 再拖一个Label到舞台上,命名为lblResult,用来显示操作结果...第一帧上写入以下代码: import flash.net.NetConnection; import flash.events.MouseEvent; import flash.events.NetStatusEvent...CS4trace的信息会显示flash输出窗口中,而服务端没有输出窗口,输出的信息将会自动保存到 C:\Program Files\Adobe\Flash Media Server 3.5\logs...- 好了,回到Flash Cs4,按下Ctrl + Enter可以运行了

    60580

    hexo-butterfly-闲聊侧

    bber-talks-ts函数转存JSON数据 # bber-talks-ts定义完成之后,随后bber云函数调整代码内容,哔哔哔哔成功之后异步调用bber-talks-ts函数转存JSON数据.../butterfly/layout/page.pug引入判断(添加type类型判断),引入定义的bber.pug模板 block content #page case page.type...设定type从而指定要应用的模板,因此可以通过创建一个网页存放bb内容(可以通过指令或手动创建,随后菜单引用即可) 结果显示效果 5.扩展:引用到首页滚动,思路和上述配置类似,可参考Heo...大大的文章博客主页滚动展示哔哔消息 # 构架步骤 1.引入themes/butterfly/layout/includes/bbTimeList.pug 2.配置主页themes/butterfly/layout.../index.pug装载bbTimeList.pug 3.构建JS&CSS文件,并在引用修改(注意json文件和相关css、js的引入路径、跳转的路径配置) 测试说明 1.尝试发送一条哔哔内容,

    1.3K00

    请求与上传文件,Session简介,Restful API,Nodemon

    '); app.get('/', function(req,res){ // 输出响应消息 req.send('hello') }); app.get('/users/:gender', function...'); }); app.post('/create', function(req,res){ // 获取用户输出表单消息 let name = req.body.name let pswd = req.body.password...session是这样的,需要保持用户数据时,服务器程序可以把用户数据存储到浏览器的session,当用户使用浏览器访问其他程序,可以从session取出数据。...'keyboard cat', resave: true, saveUninitialized: true })) cookie和session的区别: cookie是将用户的数据写给用户的浏览器,浏览器端保持状态数据...session是把用户的数据写到用户的session,不同的用户用不同的session_id识别,将session_id保持客户端cookide或是本地。

    1.6K20

    基于RTMP数据传输协议的实时流媒体技术研究

    RTMP 协议全称是 Real Time Messaging Protocol,即实时消息传送协议,用于 Flash 平台之间传递视音频以及数据。...此外 RTMP 协议传输的 FLV 封装格式支持的 H. 264 视频编码方式可以很低的码率下显示质量还不错的画面,非常适合网络带宽不足的情况下收看流媒体。...当 RTMP 协议互联网传 输数据的时候,消息会被拆分成更小的单元,称为消 息块( Chunk) 。 消息消息是 RTMP 协议基本的数据单元。...基于RTMP数据传输协议的实时流媒体技术研究(论文全文)_QQ20160430-3.png 消息分块: 消息被分割成几个消息块的过程,消息负载部分( Message Body) 被分割成大小固定的数据块...本系统采用一个 ActionScript 语言编写的 Flash 程序作为播放实时流的客户端。使用 RTMP 协议从流媒体服务器获 得视频数据并显示播放。

    2.8K40

    Java编程思想第五版(On Java8)(十二)-集合

    在运行时,当尝试将 Orange 对象转为 Apple 时,会出现输出显示的错误。 泛型章节,你将了解到使用 Java 泛型来创建类可能很复杂。但是,使用预先定义的泛型类却相当简单。...例如, LinkedList 具有 List 接口中包含的额外方法,而 TreeMap 也具有 Map 接口中包含的方法。如果需要使用这些方法,就不能将它们向上转型为更通用的接口。...在这些方法,有些彼此之间可能只是名称有些差异,或者只存在些许差异,以使得这些名字特定用法的上下文环境更加适用(特别是 Queue )。...例如,机场,当飞机临近起飞时,这架飞机的乘客可以在办理登机手续时排到队头。如果构建了一个消息传递系统,某些消息比其他消息更重要,应该尽快处理,而不管它们何时到达。...本例,这两种方式都可以奏效。

    2.2K41

    RTMP 协议:为什么直播推流协议都爱用它?丨音视频基础

    该命令中含有处理 ID(与 1 收到相同),该消息同时还制定了部分属性,如 Flash Media Server 版本等。...使用聚合消息有几个性能优势: 1)块流,一个块最多只能发送一个消息。如果在增加发送块大小的前提下,同时使用聚合消息,就可以减少发送块的数量。...2)子消息在内存很可能是连续存储的,所以这时候使用聚合消息发送这些数据系统调用上会更高效。 2.3、消息交互实例 2.3.1、握手 RTMP 的连接开始于握手。...客户端与服务器都是初始化态。客户端 C0 中发送协议版本。如果服务器支持这个版本,它将回应 S0 和 S1。如果不支持,服务器将会采取适当措施的回应。 RTMP ,这个措施是终止连接。...版本已发送(Version Sent):客户端和服务器初始化态后是版本已发送态。客户端等待 S1,服务器等待 C1。接收到响应包后,客户端发送 C2,服务器发送 S2。

    2.2K20
    领券