什么是返回false在jquery和attr + ajax


What is return false in jquery and attr + ajax

首先让我展示一下代码

脚本

        var user_id = $(this).attr("id");
        var datastring = 'user_two='+ user_id;
        $(".follow").click(function(){
            $.ajax({
                type: "POST",
                url: "include.php",
                data: datastring,
                success: function(html){}
            });
            $("#follow"+user_id).hide();
            $("#unfollow"+user_id).show();
            return false;
        });

php

<?php 
    $query = $handler->query("SELECT * FROM users");
    while ($row = $query->fetch()) {
        $user_two = $row['id'];
        $user_one = 1;
        ?>
        <p><?php echo $row['username'];?></p>
        <?php 
            $follow_check = $handler->query("SELECT * FROM follow WHERE user_one='$user_one' AND user_two='$user_two'");
            if ($follow_check->rowCount() == 0) {?>
                <div id="follow<?php echo $user_one;?>">
                    <a href="" class="follow" id="<?php echo $user_two;?>">Follow</a>
                </div>
                <div id="unfollow<?php echo $user_one;?>" style='display:none'>
                    <a href="" class="unfollow" id="<?php echo $user_two;?>">Following</a>
                </div>
            <?php }else{?>
                    <div id="follow<?php echo $user_one;?>" style='display:none'>
                    <a href="" class="follow" id="<?php echo $user_two;?>">Follow</a>
                </div>
                <div id="unfollow<?php echo $user_one;?>" >
                    <a href="" class="unfollow" id="<?php echo $user_two;?>">Following</a>
                </div>
            <?php } ?>
 <?php } ?>

插入查询

<?php
include('db.php');
$user_two = $_POST['user_two'];
$query = $handler->query("INSERT INTO follow (user_one,user_two) VALUES ('1','$user_two')");
?> 

有两件事我需要插入这是user_one = Session=0或当前登录的用户,但我只是使其静态为平均时间和user_two这是用户id或一个你将点击跟随那个人。不知道如何在ajax中,比如php中获取链接的值,比如<a href="?id=">然后获取值,比如$_GET['id']但不知道如何将值存储到脚本

我只是需要一个解释user_id = $(this).attr("id");并且在$(".follow").click中返回false,当我将其设置为false时,我需要刷新页面以查看要遵循的链接的变化,并遵循为什么会这样?顺便说一下,当我点击下面的链接,它将成功地插入到数据库,但user_two的值总是0,因为我不知道如何存储链接id到脚本。

不是100%确定我是否理解,但让我试试:

第一:id="<?php echo $user_id; ?>"它是好的。你可以用var user_id = $(this).attr("id");得到它也许你应该把这行移到$(".follow")里面…块

$(".follow").click(function() {
    var user_id = $(this).attr("id"); //"this" will refer the element with the "follow" class. Then user_id will be the value of the id for the clicked element.
    $.ajax({
      type: "POST",
      url: "include.php",
      data: {user_two: user_id}
    }).done(function(data) {
       data = JSON.parse(data);
       if(data.msg) {
        //everything is ok
        $("#follow"+user_id).hide();
        $("#unfollow"+user_id).show();
       } else {
         //handle the error
       }
    )}
 });

PHP部分:

<?php
include('db.php');
$user_two = $_POST['user_two'];
$query = $handler->query("INSERT INTO follow (user_one,user_two) VALUES ('1','$user_two')");
if($query) { //check if query ran successfully
 echo json_encode(array("msg" => 1)); 1 for success
} else {
 echo json_encode(array("msg" => 2)); 2 for error
}
?>

关于" ajax中什么是返回false ":.follow ->目标是一个标签。点击一个a标签会使浏览器导航到href="中指定的url。返回false禁用此行为,因为您不需要页面刷新或转到另一个页面:)