Xóa mặt hàng giỏ hàng ajax php

Bài viết này mô tả cách xóa từng sản phẩm và toàn bộ dòng sản phẩm khỏi giỏ hàng bằng cách sử dụng các yêu cầu AJAX

Dòng sản phẩm trong giỏ hàng phải có phần tử có thể nhấp để khởi tạo tập lệnh xóa. Trong ví dụ này, chúng tôi sử dụng đầu ra mặc định của thẻ {Cart}, trong đó phần tử có thể được tìm thấy dựa trên mã định danh a.CartRemove

Dưới đây, bạn có thể xem ví dụ về triển khai trang giỏ hàng đơn giản hóa

{Cart}

Một sản phẩm được xóa khỏi giỏ hàng bằng cách gửi yêu cầu POST tới địa chỉ /cart/delete/n trong đó ID là n .

/*
* The removal script is executed after the a.CartRemove element is clicked
*/
$["a.CartRemove"].on["click", function[event] {
    event.preventDefault[];
    
    /*
    * The ID of the product to be removed is retrieved
    * from the link.
    */
    productId = $[this].attr["href"].split["/"][3];

    /*
    * A POST request is sent
    */
    $.ajax[{
        type: "POST",
        url: "/cart/delete/" + productId,
        success: function[] {

            /*
            * The product is now removed and the shopping cart is reloaded
            * so that the customer can see the change.
            */
            $.ajax[{
                type: "GET",
                url: "/interface/Cart",
                success: function[data] {
                    $[".CartContainer"].html[data];
                }
            }];
        }
    }];
}];

Bạn có thể triển khai nhiều chức năng được kết nối với việc mua hàng bằng cách sử dụng lệnh gọi JavaScript không đồng bộ. Đọc thêm các bài viết sau về hành động không đồng bộ

Tôi đã tạo một giỏ hàng trong đó tôi có thể thêm các mặt hàng vào đó nhưng không thể xóa các mặt hàng trong giỏ hàng. dưới đây là mã của tôi

runQuery["CHỌN * TỪ shop_product WHERE id='". $_GET["product_code"]. "'"]; . trống[$_SESSION["cart_item"]]] { var_dump[$productByCode[0][id]]; . foreach[$_SESSION["cart_item"] as $k => $v] { if[$productByCode[0][id] == $k] $_SESSION["cart_item"][$k]["quantity"] = . nếu[. trống[$_SESSION["cart_item"]]] { foreach[$_SESSION["cart_item"] as $k => $v] { if[$_GET["product_code"] == $k] unset[$_SESSION[" . unset[$_SESSION["cart_item"]];

và tôi cũng đang sử dụng ajax để thêm, xóa và làm trống giỏ hàng. đây là mã

Tôi nghĩ rằng có một cái gì đó trong giỏ hàng. php không khớp. vui lòng giúp tôi

Trong bài viết thứ 13 của thử thách #4weeksOfShopifyDev, tôi sẽ nói về cách thêm và xóa mặt hàng khỏi giỏ hàng trên trang sản phẩm bằng AJAX

Hãy làm nó

  • Đầu tiên, chúng ta cần tìm nút thêm vào giỏ hàng và lấy tên lớp của họ
  • Dán mã này vào mã mẫu sản phẩm
  • Trong đoạn mã này, chúng tôi đã thêm vào nút giỏ hàng và thêm vào biểu mẫu giỏ hàng

  • Chúng tôi có thể thêm trình lắng nghe sự kiện để xử lý sự kiện gửi biểu mẫu thêm vào giỏ hàng và ngăn việc thêm sản phẩm vào giỏ hàng và chuyển hướng đến trang giỏ hàng
  • Chúng ta có hàm addItem, nó sẽ xử lý lấy dữ liệu từ biểu mẫu, thêm mặt hàng vào giỏ hàng, thay đổi văn bản thêm vào giỏ hàng và thêm id biến thể của sản phẩm [chúng ta sẽ sử dụng trong phần xóa mặt hàng]
  • function removeItem[] {
      let variantId = cartBtn.getAttribute["data-variant-id"];
      $.ajax[{
        type: "POST",
        url: "/cart/change.js",
        dataType: "json",
        data: {
          id: parseFloat[variantId],
          quantity: 0,
        },
      }].then[[data] => {
        cartBtn.textContent = "Add to cart";
        cartBtn.removeAttribute["data-variant-id"];
      }];
    }
  • Trong đoạn mã này, chúng tôi sẽ xóa cùng một sản phẩm khỏi giỏ hàng
  • Trước tiên, chúng tôi cần lấy id biến thể của sản phẩm mà chúng tôi muốn xóa mà chúng tôi đã đặt trước đó trong hàm addItem
  • Sau đó, chúng tôi thực hiện lệnh gọi API để xóa mặt hàng khỏi giỏ hàng và xóa thuộc tính id biến thể khỏi nút giỏ hàng
  • mã cuối cùng

    Đăng ký bên dưới để nhận thông báo về bài viết mới

    • Mục lục
    • Những chủ đề gần đây
    • Tìm kiếm
    • Đăng nhập

      tên tài khoản

      Mật khẩu

      nhớ tôi

      Đăng nhập

      Bạn quên mật khẩu?
      Quên tên người dùng?
      Tạo tài khoản

      • Mục lục
      • Những chủ đề gần đây
      • Tìm kiếm

    • Đăng nhập

      tên tài khoản

      Mật khẩu

      nhớ tôi

      Đăng nhập

      Bạn quên mật khẩu?
      Quên tên người dùng?
      Tạo tài khoản

    • Diễn đàn
    • lưu trữ
    • Làm thế nào để?
    • Xóa mặt hàng khỏi giỏ hàng bằng Ajax
    Xóa mặt hàng khỏi giỏ hàng bằng Ajax

    • Bắt đầu
    • Trước đó
    • 1
    • Tiếp theo
    • Chấm dứt

    • 1

    • lò rèn trí tuệ
    • Tác giả chủ đề
    • ngoại tuyến

    • bài viết. 291
    • Cảm ơn bạn đã nhận được. 4
    • Hikashop

    2 năm 5 tháng trước #321920

    -- Phiên bản HikaShop--. 4. 2. 3
    -- Phiên bản Joomla --. 3. 9. 19
    -- Phiên bản PHP --. 7. 3. 19

    Tôi có dòng mặt hàng sau trong giỏ hàng.
    Để thay đổi số lượng muốn người dùng nhấp vào biểu tượng làm mới.
    Muốn xóa mặt hàng khỏi giỏ hàng và đưa người dùng trở lại trang sản phẩm để họ có thể nhập lại số lượng.



    Có thể có những cách khác tốt hơn/đơn giản hơn để đạt được kết quả tương tự.
    Nếu tôi cho phép người dùng cập nhật trường số lượng thì nó không cập nhật trọng lượng.
    Người dùng đặt hàng 1. 5kg - giỏ hàng hiển thị số lượng 1 và trọng lượng [trường tùy chỉnh] là 1. 5.
    Nếu người dùng thay đổi số lượng thành 2 - nhân viên cửa hàng cho rằng họ muốn 2 gói mua 1. 5kg ko 1 bịch 2kg.

    Mã tôi có cho việc này trong show_block_cart. php là.

    Chủ Đề