Php Ajax多按钮单击

Php Ajax多按钮单击,php,ajax,mysqli,Php,Ajax,Mysqli,我有一个网站,向用户展示我是否可以跟随。它在没有ajax的情况下工作,但每次点击按钮都可以重新加载 我添加了ajax,但它只将首先显示的用户的第一个后续id存储到数据库中,其他什么都没有。这根本不对。有一长串用户,只有一个被插入数据库 但是,如果我单击大约2个或更多的用户进行跟踪,则会插入2行或多行的1个跟踪id,而不是单击2行或多行的不同跟踪id 提前谢谢 我的ajax脚本 $(document).ready(function() { $(".followUse

我有一个网站,向用户展示我是否可以跟随。它在没有ajax的情况下工作,但每次点击按钮都可以重新加载

我添加了ajax,但它只将首先显示的用户的第一个后续id存储到数据库中,其他什么都没有。这根本不对。有一长串用户,只有一个被插入数据库

但是,如果我单击大约2个或更多的用户进行跟踪,则会插入2行或多行的1个跟踪id,而不是单击2行或多行的不同跟踪id

提前谢谢

我的ajax脚本

   $(document).ready(function() {
        $(".followUser").click(function(e) {
            e.preventDefault();
            var form = $('#userAction').serialize();
            var action = 'instant_follow.php';
     
            $.post(action, form, function(data){
              //result goes here...
            });
        });

        $('button#followResult').live('click', function(e){
            e.preventDefault();
            $button = $(this);
            if($button.hasClass('unfollow')){          
              $button.removeClass('unfollow');
              $button.text('follow');
              $button.addClass('follow');
            } else {
              $button.addClass('unfollow');
              $button.text('unfollow');
            }
        });
    });
我的php选择与我的ajax脚本形成同一页面

   $(document).ready(function() {
        $(".followUser").click(function(e) {
            e.preventDefault();
            var form = $('#userAction').serialize();
            var action = 'instant_follow.php';
     
            $.post(action, form, function(data){
              //result goes here...
            });
        });

        $('button#followResult').live('click', function(e){
            e.preventDefault();
            $button = $(this);
            if($button.hasClass('unfollow')){          
              $button.removeClass('unfollow');
              $button.text('follow');
              $button.addClass('follow');
            } else {
              $button.addClass('unfollow');
              $button.text('unfollow');
            }
        });
    });

这个问题很简单,因为您为所有表单提供了相同的id,所以无论您单击哪个按钮,都只会提交第一个表单。相反,请使用
$(this).closest(“form”).serialize()
,获取提交按钮的值,以便只获取已单击按钮的表单

演示代码

$(文档).ready(函数(){
$(文档)。在(“单击”,“跟随用户”,函数(e){
e、 预防默认值();
$按钮=$(此按钮);
var form=$(this).closest(“form”).serialize();//在按钮所在的位置获取最近的表单
console.log(表单)
var action='instant_follow.php';
//你的ajax
if($button.hasClass('unfollow')){
$button.addClass('follow').removeClass('unfollow');
$button.text('follow');
}否则{
$button.addClass('unfollow').removeClass('follow');
$button.text('unfollow');
}
});
});

Abc

跟随 Xyz

跟随
您真正想要的是什么??
//user id which is 1
$user = "1";
$following_id = $_POST["following_id"];
$stmt = $mysqli->prepare("INSERT INTO site_follows (following_id, follower_id) VALUES (?, ?)");
    $stmt->bind_param("ii", $following_id, $user);
    $stmt->execute();
    $stmt->close();