添加到购物车功能不起作用

时间:2017-01-09 05:38:39

标签: javascript ajax html5 hyperlink

我在产品旁边有一个链接,说“添加到购物车”和一个带有添加到购物车选项的按钮。链接不起作用,产品没有添加。按钮工作正常,产品被添加,但链接有问题。我是编程新手,如果能得到一些帮助,那就太棒了。

这是javascript代码。

  $("body").on("click", ".addtocart", function () {    

    var product_id =$(this).data("product_id");
     getCartCount(product_id);

     });


  function getCartCount(product_id){

     $.ajax({
            type:'POST',
            url:'ajaxcallfunctions.php',
            data:{
                product_id:product_id,action:'addtocart'

            },
            success:function(data){            

            $("#shopped_count").html('('+data+')');

            }
        }); 

 }

这是HTML链接

<html>
 <a href="javascript:void(0)" class="addtocart" id="<?php echo $value['product_id']; ?>">Add to Cart</a>
</html>

这是PHP代码

<?php
// ADD TO CART

if (isset($_POST['action']) && ($_POST['action'] == 'addtocart')) {

    $product_id = (isset($_POST['product_id']) ? trim($_POST['product_id']) : '');
    $user_id = $_SESSION['userid'];

    if ($product_id != '') {

        $data_set = array();

        $sql = "SELECT product_id, product_name, product_price, description from admin_productdetails where product_id=$product_id ";
        $result = $connect->query($sql);
        if ($result->num_rows > 0) {
            while ($row = $result->fetch_assoc()) {
                $data_set[] = $row;
            }
        }


        $sql = "INSERT INTO user_productdetails (userid,product_id,product_name, product_price,description) "
                . "VALUES ('" . $_SESSION['userid'] . "','" . $data_set[0]['product_id'] . "','" . $data_set[0]['product_name'] . "','" . $data_set[0]['product_price'] . "','" . $data_set[0]['description'] . "')";
        $result = $connect->query($sql);
    }

    $sql = "SELECT COUNT(product_id) as count FROM user_productdetails where userid='$user_id' AND  product_status='Pending'";
    $result = $connect->query($sql);
    if ($result->num_rows > 0) {
        while ($row = $result->fetch_assoc()) {
            $product_count = $row['count'];
        }
    }

    echo $product_count;
    exit();
}

1 个答案:

答案 0 :(得分:0)

请更改您的jquery脚本。

(文档)$。就绪(函数(){

$(“body”)。on(“click”,“。addtocart”,function(){

var product_id =$(this).data("product_id");
 getCartCount(product_id);

 });

}); 我只是更改了“$(document).ready(function(){});”在jquery事件监听器的一边。 我想,它会对你有用。