Flash基础入门之NodeJS+Express中集成Flash消息
小标 2019-03-18 来源 : 阅读 719 评论 0

摘要:本文主要向大家介绍了Flash基础入门之NodeJS+Express中集成Flash消息,通过具体的内容向大家展现,希望对大家学习Flash基础入门有所帮助。

本文主要向大家介绍了Flash基础入门之NodeJS+Express中集成Flash消息,通过具体的内容向大家展现,希望对大家学习Flash基础入门有所帮助。

Flash基础入门之NodeJS+Express中集成Flash消息

flash消息用于重定向跳转时传递消息,在Express中集成方法如下:


在项目中集成



  1. 安装connect-flash中间件



npm install --save connect-flash



  1. 在main js 中引入(通常是app.js或者项目名.js文件)中间件并加载



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


到这里,我们的集成工作已经完成,就可以在router中使用类似

req.flash('flash_success_message', '文章添加成功!');

传递flash消息了!

下面教大家如何完整定义一套flash message前后端解决方案


在项目中使用



一套完整的flash解决方案我的理解是:

后端发送flash message,前端动态响应flash message一次。

为什么说是“一次”呢?举个栗子:

当我们开发删除数据功能时,通常会这么做:点击删除按钮,将数据ID传递到后端,后端通过id,将数据从数据库里删除,并重定向redirect到数据列表页,重定向的时候,我们可以发送一条flash message,告诉用户数据删除成功。这个时候,当我们再次刷新数据列表页时,将不会出现之前那条flash message



下面我们开始处理整套flash message流程:



  1. 在main js(通常是app.js或者项目名.js文件)中所有的路由的最上面加入flash message处理中间件:



app.use(function (req, res, next) {
    res.locals.flash_success_message = req.flash('flash_success_message');
    res.locals.flash_error_message = req.flash('flash_error_message');       
    next();
});


一定要放到所有路由的最上面,因为express处理请求是由上往下,这样可以将所有的请求都过滤一遍。



  1. 在页面中统一处理

    我用的是express-handlebarsbootstrap,所以处理方式如下:



{{#if flash_success_error}}
    <div class="alert alert-danger alert-dismissible" role="alert">
        <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
        <strong>错误!</strong> {{flash_success_error}}.
    </div>
{{/if}}
{{#if flash_success_message}}
    <div class="alert alert-success alert-dismissible" role="alert">
        <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
        <strong>恭喜!</strong> {{flash_success_message}}.
    </div>
{{/if}}


具体意思就是:前端视图中动态判断中间件中定义的flash_success_errorflash_success_message两个变量,如果有值,就将其对应的内容渲染处理。


至此,整个开发过程完毕。


以上就介绍了Flash的相关知识,希望对Flash有兴趣的朋友有所帮助。了解更多内容,请关注职坐标常用软件Flash频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程