【问题标题】:How to share data between routes in express?如何在快递路线之间共享数据?
【发布时间】:2021-03-27 04:39:15
【问题描述】:
        router.post('/',[
        check('name', 'Name is required').not().isEmpty(),
        check('username', 'Username is required').not().isEmpty()
        check('email', 'Please include a valid email').isEmail(),
        check('password', 'Please enter a password with 8 or more characters').isLength({min:8})
    ], async (req, res) => {
           user = new User({
                  name,
                  username,
                  email,
                  password,
    });
}

    router.get('/send', async function (req, res) {
      res.send(email); //Here I need to access email right after router.post
    });

正如您看到的用户注册和我的代码将发送电子邮件验证。但我需要访问只在“api/”中输入的电子邮件。我在“api/send”和“api/verify”中也需要这封电子邮件。总之,我不知道如何将数据从一个路由传递到另一个路由。

【问题讨论】:

    标签: node.js express mongoose backend mern


    【解决方案1】:

    将这些操作组合到单个路由中,或在发送路由中使用从您保存用户的数据库模型中获取数据。例如(伪代码):

    // First option: combine
    router.post('/', async (req, res) => {
        user = new User({
              name,
              username,
              email,
              password,
        });
    
        const savedUser = MyDatabase.save(user);
    
        MyEmailSander(email);
    
        res.send(email);
    };
    
    // Second option: work with DB
    router.post('/', async (req, res) => {
        user = new User({
              name,
              username,
              email,
              password,
        });
    
        const savedUser = MyDatabase.save(user);
    
        res.send(email);
    }
    
    router.get('/send', async function (req, res) {
      const user = MyDatabase.find(req.body.user.id);
    
      MyEmailSander(user.email);
    
      res.send(email);
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-04-18
      • 2021-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-12
      • 2020-08-27
      相关资源
      最近更新 更多