按钮操作不起作用

时间:2018-02-17 07:20:59

标签: php ajax

我正在使用PHP和MySQL开发在线商店项目。

让我们说在details.php页面中包含产品的所有信息,我有这个:

<button type="button" name="cart_btn" class="formaction btn btn-fefault"><i class="fa fa-shopping-cart "></i>
    Add to cart
</button></br>

在同一页面上我也添加了这个脚本:

$(document).ready(function(){
        $('.formaction').click(function(){
            var clickBtnValue = $(this).val();
            var ajaxurl = 'details.php',
            data =  {'action': clickBtnValue};
            $.post(ajaxurl, data, function (response) {
                // Response div goes here.
                alert("action performed successfully");
            });
        });
    });

还有这段代码:

if (isset($_POST['action'])) {
        switch ($_POST['action']) {
            case 'add_cart':
                add_cart();
                break;
            case 'select':
                select();
                break;
        }
    }
    function add_cart(){
        if(isset($_POST['cart_btn'])){
            $pro_id = $_POST['pro_id'];
            $ip = getIp();
            $add_cart = $pdo->prepare("INSERT INTO cart (pro_id,qty,ip_add) VALUES ('$pro_id','1','$ip')");

            if($add_cart->execute()){
                echo "<script>alert('adssadsad')</script>";
            }else{
                echo "<script>alert('Try Again')</script>";
            }
        }
    }

但问题是,它根本不起作用!我的意思是当你点击按钮时,它不会运行这些脚本......

那么这里有什么问题,如果你知道请帮帮我..谢谢!

1 个答案:

答案 0 :(得分:0)

您需要删除此行

if(isset($_POST['cart_btn'])){

按钮key => value无法通过AJAX发送。

也是这一行

$pro_id = $_POST['pro_id'];

将提供null

您只能通过AJAX action

发送POST

数据应如何显示的模板

data =  {'action': clickBtnValue, 'pro_id' : 'value_of_pro_id'};

此外,不是通过您的php脚本发送javascript,而是分别发送10更好的回复来表示成功或失败。无论保存是否成功,您都会显示成功消息