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('/');
        }
    
      })();
    });
  • 相关阅读:


    django 认证系统--3
    django 认证系统--2
    django 认证系统--1


    关于二叉树
    [GeeksForGeeks] Remove all half nodes of a given binary tree
    [LintCode] Letter Combinations of a Phone Number
  • 原文地址:https://www.cnblogs.com/PengfeiSong/p/12867456.html
Copyright © 2011-2022 走看看