我正在使用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>";
}
}
}
但问题是,它根本不起作用!我的意思是当你点击按钮时,它不会运行这些脚本......
那么这里有什么问题,如果你知道请帮帮我..谢谢!
答案 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,而是分别发送1
或0
更好的回复来表示成功或失败。无论保存是否成功,您都会显示成功消息