zoukankan      html  css  js  c++  java
  • express 中设置 cookie 的小坑

      错误代码

    res.cookie 在异步函数外时,可以正常设置,当res.cookie 在异步函数内时不能正常设置。将最后一句res.redirect('/')也放进异步函数中时,可以正常运行。
    
    
    router.post('/doLogin', (req, res, next) => {
      var md5 = crypto.createHash('md5');
      (async () => {
        var Users = await myModel.Users.findOne({
          where: {
            userId: req.body.userId,
          }
        });
        if (Users !== null && Users.psw === md5.update(req.body.psw).digest('base64')) {
          console.log("OK!");
          res.cookie('remember', req.body.userId, { maxAge: 900000, domain: 'localhost' });      
        } else {
          console.log("NO!");
          res.clearCookie('remember');
        }
    
      })();
    res.redirect('/');
    });

    改正

    router.post('/doLogin', (req, res, next) => {
      var md5 = crypto.createHash('md5');
      (async () => {
        var Users = await myModel.Users.findOne({
          where: {
            userId: req.body.userId,
          }
        });
        if (Users !== null && Users.psw === md5.update(req.body.psw).digest('base64')) {
          console.log("OK!");
          res.cookie('remember', req.body.userId, { maxAge: 900000, domain: 'localhost' });
          res.redirect('/');
        } else {
          console.log("NO!");
          res.clearCookie('remember');
          res.redirect('/');
        }
    
      })();
    });
  • 相关阅读:
    第三方类AFNetworking(一)
    objective-C nil,Nil,NULL 和NSNull的小结
    DOM解析XML文件
    设置导航栏字体大小,颜色和加粗字体的方法
    数据本地化之沙盒机制
    本地存储Sqlite的用法:
    iOS面试题
    iOS 知识-常用小技巧大杂烩
    怎么升级iOS10教程
    2016WWDC详解
  • 原文地址:https://www.cnblogs.com/PengfeiSong/p/12867456.html
Copyright © 2011-2022 走看看