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('/');
        }
    
      })();
    });
  • 相关阅读:
    csps模拟测试70
    模拟测试66反思
    csps63总结
    csps60爆零记
    csps模拟测试57
    模拟测试52,53反思
    LOJ2542「PKUWC2018」随机游走
    LOJ6300 BZOJ5283 [CodePlus 2018 3 月赛]博弈论与概率统计
    2019暑假集训
    省队二轮集训笔记
  • 原文地址:https://www.cnblogs.com/PengfeiSong/p/12867456.html
Copyright © 2011-2022 走看看