Express:页面未在 res.redirect() 上更新我必须手动重新加载页面才能看到更改如何解决这个问题?

问题描述

基本上,我的用户架构中有一个变量购物车。我正在使用以下代码更新它。

app.get("/cart/:id",function (req,res) {
    var productId = req.params.id;
    Post.findById(productId,function (err,product) {
        if (err) console.log(err);
        else {
            let index = req.user.cart.indexOf(productId);
            if (index >= 0) {
                req.user.cart.splice(index,1);
            }
            req.user.save();
            console.log(req.user.cart);
            res.redirect("/cart");
        }
    });
});

更新后,我重定向回 /cart 页面显示更新的页面

app.get("/cart",async (req,res) => {
    let cart = req.user.cart;
    console.log(cart);

    let products = [];
    for (let i = 0; i < cart.length; i++) {
        let product = await Post.findById(cart[i]);
        products.push(product);
    }
    res.render("cart.ejs",{
        products: products
    });
});

问题是我的 /cart 页面显示了旧的详细信息。只有当我手动重新加载页面时,它才会显示更新的数据。如何修复它以便 /cart 页面始终显示更新的数据。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)