node.js走起--flash篇

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

node.js-express-flash-拦截器

1、connect-flash是nodejs中的一个模块,flash是一个暂存器,而且暂存器里面的值使用过一次便被清空,适合用来做网站的提示信息。 2、首先肯定是app.js引入模板 js var flash = require('connect-flash') 3、设置flash(成功一大半了)

js app.use(flash()); //设置flash app.use(function(req, res, next){ res.locals.error = req.flash('error') || ""; res.locals.success = req.flash('success') || ""; next(); }); 4、可以配合拦截器使用了(给success和error赋值,就可以让它们获得相应的变量)

```js //拦截器

app.use(function (req, res, next) { if (req.session.user&&req.session.user!=undefined&&req.originalUrl!="/imgUpdate.html"&&req.originalUrl!="/indexBack.html"&&req.originalUrl!="/picture-add.html"&&req.originalUrl!="/picture-list.html"&&req.originalUrl!="/pixture-show"&&req.originalUrl!="/article-add.html"&&req.originalUrl!="/article-list.html"&&req.originalUrl!="/article-comment.html") { // 判断用户是否登录 next(); } else if(req.session.AccoutBack&&req.session.AccoutBack!=undefined){ next(); }else{ // 解析用户请求的路径 var arr = req.url.split('/'); // console.log("arr.length为是"+arr.length) // 去除 GET 请求路径上携带的参数 for (var i = 0, length = arr.length; i < 1; i++) { arr[i] = arr[i].split('?')[0]; } // 判断请求路径是否为根、登录、注册、登出,如果是不做拦截 if ( arr[1]=="static"||arr[1]=="lib"||arr[1]=="images"||arr[1]=="stylesheets"||arr[1]=="javascripts"||arr[1] == 'loginback.html' || (arr[1] == 'register' || arr[1] == 'login')) { next(); } else { // 登录拦截 req.session.originalUrl = req.originalUrl ? req.originalUrl : null; // 记录用户原始请求路径

req.flash('error', '登录才能进入网页哦');//用上了

  res.redirect('/login');  // 将用户重定向到登录页面

}

}

}); ``` 4、部分登录html

```html

<form action="/login" method="post" id="loginForm">
    <div>
        <input type="text" name="username" class="username" placeholder="用户名" autocomplete="off"/>
    </div>
    <div>
        <input type="password" name="password" class="password" placeholder="密码" oncontextmenu="return false" onpaste="return false" />
    </div>

    <button id="submit" type="submit" onclick="login()">登 录</button>
</form>

<a href="register">
    <button type="button" class="register-tis" >还有没有账号?</button>
</a>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值