如何在Express中将数据/变量从POST路由传递到GET路由?

时间:2020-06-06 16:01:56

标签: node.js express post get

我正在一个电子商务网站上,该网站可以让您订购产品,并可以在付款之前以表格形式填写客户信息(姓名,电子邮件,卡信息等)。当他们填写表格并单击“付款”时,它将发送POST请求,以进行实际收费。

router.post("/pay", async (req, res) => {
    // Charging Code Here
            ...
    // Charging Code Here

    var name = req.body.name;
    var email = req.body.email;
    var number = req.body.number;
});

收费后,我想如上所述从表单中提取信息,然后发送GET请求,在其中可以呈现一个页面,并可以使用POST路线中的变量在新页面上显示客户信息。

router.get("/confirmation", function(req, res, next) {
        res.render("confirmation.ejs", { name:name, email:email, number:number });
});

话虽如此,我如何才能从POST路由中获取名称,电子邮件和数字变量,并在GET路由中使用它?我不想将客户信息存储在数据库中,因为我希望每个人都在不建立某种帐户的情况下下订单。

1 个答案:

答案 0 :(得分:1)

您可以做的是将变量作为请求传递给GET方法,例如:

router.get("/confirmation/:name/:email/:number", function(req, res, next) {
        res.render("confirmation.ejs", { name:req.name, email:req.email, number:req.number });
});
相关问题