微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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 举报,一经查实,本站将立刻删除。