ajax提交留在同一页面+更新购物车中的产品数量

时间:2016-10-26 02:42:08

标签: javascript php jquery ajax codeigniter

您好我在sumbit表单后使用ajax保持在同一页面上。 如果成功,我将使用ajax加载来加载其他页面,其中包含有关产品数量的文本。 问题是如果我先提交,数量+ 1 /秒提交数量+2(所以现在总数为3)/第三次提交,数量+3(所以现在总数为6)。 我希望它只能+1

我有3页。

product.php页面(有产品和按钮添加到购物车(提交)) 我在这里使用ajax

$(document).ready(function() {
    $('.add-to-cart').on('click', function() {

        $(document).on('submit', '.myForm', function(e) {
            $.ajax({
                url: $(this).attr('action'),
                type: $(this).attr('method'),
                data: $(this).serialize(),
                success: function(html) {
                    $("#outside_cart_text").load("<?php echo base_url();?>shopping/ajax_text.php", function(responseTxt, statusTxt, xhr) {
                        if (statusTxt == "success")

                            if (statusTxt == "error")
                            alert("Error: " + xhr.status + ": " + xhr.statusText);
                    });
                }
            });
            e.preventDefault();
        });

    });
});

如果成功购物,则加载ajax的页面/ ajax_text.php

<?php echo $_SESSION('qty_type'); ?> type <?php echo $_SESSION('qty_product');?> 

购物车页面 - 第一页(product.php)表单将提交到此页面。此页面包含有关将项目添加到购物车的代码逻辑。所以我在这个页面中创建会话

$_SESSION['qty_type'] = $sizeof_cart_array;
$_SESSION['qty_product'] = $total_item;

1 个答案:

答案 0 :(得分:0)

为什么你要同时打电话点击和提交? 只需在单击时调用并处理它。     

     $(document).ready(function() { 
$('.add-to-cart').on('click', function() {

$(document).on('submit', '.myForm', function(e) {<br/> /// code goes here