Функции Jquery и AJAX для перезагрузки при удалении - PullRequest
0 голосов
/ 06 ноября 2019

Я использую jquery и ajax, чтобы добавлять вещи в корзину и удалять их, поэтому теперь я создал код удаления, но после нажатия кнопки удалить его удаление, но не обновляет корзину. Я хочу, чтобы это было сделано с помощью ajax для обновления корзины. Ниже приведен мой код для добавления, загрузки и удаления из корзины

. Я хочу, чтобы это было сделано с помощью ajax для обновления корзины. Ниже мой код для добавления, загрузки и удаления из корзины

$(document).ready(function() {
  load_cart_data();

  function load_cart_data() {
    $.ajax({
      type: "get",
      url: "/fetch_cart/cart",
      dataType: "json",
      cache: false,
      success: function(data) {
        $("#cart-sidebar").html(data.cart_details);
        $(".total_price").text(data.total_price);
        $(".total_items").text(data.total_items);
      }
    });
  }

  //add to cart
  $('.add-to-cart').click(function() {
    var id = $(this).attr('id');
    var quantity = $('#quantity' + id).val();

    $.ajax({
      type: "GET",
      url: "/add_to_cart/" + id + "/" + quantity,
      data: id,
      quantity,
      cache: false,
      success: function(data) {
        load_cart_data();
        alert(data);
      }
    });
  });

  $(document).on('click', '.remove-cart', function() {
    var id = $(this).attr('id');
    $.ajax({
      type: "GET",
      url: "/remove_from_cart" + "/" + id,
      data: id,
      cache: false,
      success: function(data) {
        load_cart_data();
        alert(data);
      }
    });
  });
});

Ответы [ 2 ]

0 голосов
/ 06 ноября 2019
public function remove($id)
    {

        $cart = session()->get('cart');

        if (isset($cart[$id])) {

            unset($cart[$id]);

            session()->put('cart', $cart);
        }

        session()->flash('success', 'Product removed from cart');
        echo 'Product removed from cart';

    }
0 голосов
/ 06 ноября 2019
    public function cart()
        {
            $total = 0;
            $total_items = 0;
            $output = '';
            if (session('cart')) {
                $total_items += count(session('cart', 'id'));
                foreach (session('cart') as $id => $details) {
                    $total += $details['price'] * $details['quantity'];

                    $output .= '
                        <li class="item odd">
                            <a href="#" title="Ipsums Dolors Untra" class="product-image">                
                              <img src="' . $details['photo'] . '" alt="Lorem ipsum dolor" width="65">               
                            </a>                           
                                    <div class="product-details">
                                    <a href="#" class="remove-cart" id="' . $details['product_id'] . '"> Remove</a>

                                        <p class="product-name">
                                        <a href="#">' . $details['name'] . '</a>
                                        </p>
                                        <strong>' . $details['quantity'] . '</strong> x <span class="price">$' . $details['price'] . '</span>
                                    </div>
                        </li>

                        ';
                }

                $data = array(
                    'cart_details' => $output,
                    'total_price' => number_format($total, 2),
                    'total_items' => $total_items,
                );
                echo json_encode($data);
            }

        }

// это мой код JavaScript, который удаляет данные

$(document).on('click', '.remove-cart', function () {

        var id = $(this).attr('id');
        $.ajax
        ({
            type: "GET",
            url: "/remove_from_cart" + "/" + id,
            data: id,
            cache: false,
            success: function (data) {

                alert(data);
                load_cart_data();
            }
        });
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...