在 laravel 中使用 ajax 更新购物车产品时出错

error in update shopping cart product using ajax in laravel

我想使用 ajax 更新我的购物车产品。

它仅适用于第一个产品而不适用于整个购物车产品并且当我更新数量值时它不会反映在总价中..

但是当我刷新页面时它反映在总价中..

shoppingcart_blade :

<input type="hidden" name="product_id" id="product_id<?php echo $count; ?>" value="{{ $cartproduct->id }}"/>

<input type="number" name="qty" min="1" max="20" id="updateQty<?php echo $count; ?>" value="{{ $cartproduct->qty }}" class="btn-qty-cart" autocomplete="off"/>
<input type="hidden" id="rowId<?php echo $count; ?>" value="{{ $cartproduct->rowId }}" name="rowId"/>  

<script type="text/javascript">

<?php for($i=1;$i<30;$i++){ ?>
$('#updateQty<?php echo $i; ?>').on('change keyup',function(){

    var qty = $('#updateQty<?php echo $i; ?>').val(); 
    var rowId = $('#rowId<?php echo $i; ?>').val(); 
    var product_id = $('#product_id<?php echo $i; ?>').val();

    if(qty<=0)
    {
        alert('Enter only valid Quantity');
    }
    else
    {
        $.ajax({ 
        type: "get", 
        url: "<?php echo url('shopping_cart/'); ?>/"+product_id, 
        data: { 
        'qty': qty, 
        'rowId': rowId,
        'product_id' :product_id, 
        }, 
        success: function(data) { 
        //alert(data); 
        //console.log(data); 
        } 
        });
    }

});
<?php } ?>
</script>  

控制器:

public function updateCartQuantity(Request $request,$id)
    {
        $product_id=$request->product_id;
        Cart::update($request->rowId,$request->qty);

        return redirect()->back();
    }

您需要使用 jquery 设置总价格值,因为如果不刷新页面,您的更改将不会反映出来。

如果您想为动态数据调用 ajax 并将任何内容更改到数据库中,那么您只需调用 ajax 一次并动态发送数据。 在您的情况下,您在循环中调用 ajax 30 次,这不是调用动态数据的正确方法..