簡體   English   中英

添加到購物車路線 node.js

[英]add to cart route node.js

我想在 node.js 快速應用程序中添加到我的購物車,但無需刷新或重定向路線。 有沒有辦法做到這一點? 這是“加入購物車”function 的路線:

router.get('/add-to-cart/:id/:pices', function(req, res) {
  var pices = req.params.pices;
  var productId = req.params.id;

  var cart = new Cart(req.session.cart ? req.session.cart : { });

  Product.findById(productId, function (err, product) {
    if (err) {
      return res.redirect('/');
    }
    cart.add(product, product._id, pices);
    req.session.cart = cart;
    res.redirect('/products');
  });
});

如您所見,每次將產品添加到購物車時,我都會重定向到 ('/products')。 有沒有辦法讓頁面不會每次都刷新?

謝謝!

這不是后端的問題,而是前端的問題。 我假設您正在使用一個表單元素,其action設置為該端點。

您正在尋找的是帶有fetchAJAX 不太確定您的前端設計,但我會猜測一下:

在腳本的前端:

  • 獲取yourForm
  • 添加submit事件監聽器
  • 阻止默認事件(重定向)
  • 向端點發送獲取請求
  • 解析它{credentials: "include"}以便后端知道要添加到誰的購物車。 (它發送 session 數據)
yourForm.addEventListener("submit", async function (ev) {
    ev.preventDefault();
    await fetch(ev.target.getAttribute("action"), {credentials: "include"});
});

(對於這種類型的操作,您可能需要使用 HTTP 發布請求)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM