使用 jquery 提交关注和取消关注


Submitting follow & unfollow with jquery

好的,所以我遇到的主要问题是,我尝试将帖子设置为我的PHP文件,其中包含插入追随者和删除追随者mysqli_query,我已经通过制作<a href="follow.php?action=follow&uid=$userid">follow</a>以简单的方式尝试了它,它与关注和取消关注一起工作,但现在我试图在不刷新页面的情况下做到这一点, 但不知何故,它根本不起作用。我是jquery:)的新手。

<?php
$query = mysqli_query($GLOBALS["___mysqli_ston"], "SELECT id FROM follow_user WHERE userid='$userid' AND follow_id='$uid'"); 
if(mysqli_num_rows($query)== 1)
{
    echo "<div id='follow$userid' style='display:none'><a href='' class='follow' id='$userid'><span class='btn'style='width:70px;'><b> Follow </b></span></a></div>";
    echo"<div id='remove$userid' ><a href='#' class='remove' id='$userid'><span class='btn btn-info' style='width:70px;'><b> Following </b></span></a></div>";
}
else
{
    echo "<div id='follow$userid'><a href='' class='follow' id='$userid'><span class='btn'style='width:70px;'><b> Follow </b></span></a></div>";
    echo"<div id='remove$userid' style='display:none'><a href='#' class='remove' id='$userid'><span class='btn btn-info' style='width:70px;'><b> Following </b></span></a></div>";
}
?>
jquery
$(function () {
    $(".follow").click(function () {
        var datastring = '?action=follow&uid=' + userid;
        $.ajax({
            type: "POST",
            url: "include/follow_user.php",
            data: datastring,
            success: function (html) {}
        });
        $("#follow" + userid).hide();
        $("#remove" + userid).show();
        alert("Yeah!");
        return false;
    });
});
//remove class
$(function () {
    $(".remove").click(function () {
        var datastring = '?action=unfollow&uid=' + userid;
        $.ajax({
            type: "POST",
            url: "include/follow_user.php",
            data: datastring,
            success: function (html) {}
        });
        $("#remove" + userid).hide();
        $("#follow" + userid).show();
        alert("Yeah!");
        return false;
    });
});

成功操作的代码应该在success回调中,否则它们将随时被调用,而无需请求本身结束。看一看:

$(".follow").click(function () {
    $.ajax({
        type: "POST",
        url: "include/follow_user.php",
        data: {action:"follow", uid: userid},
        success: function (html) {
            $("#follow" + userid).hide();
            $("#remove" + userid).show();
            alert("Yeah!");
        }
    });
});

然后在您的"follow_user.php"中,您必须返回进程状态(例如 1 ok - 2错误):

if(mysqli_num_rows($query)== 1)
{
    echo "1";
}
else
{
    echo "2";
}

然后在回调中检查它:

success: function(data) 
{
    if (data == "1")
    {
        $("#follow" + userid).hide();
        $("#remove" + userid).show();
        alert("Yeah!");
    }
    else 
    {
        alert("Some error occur");
    } 
}