AJAX 请求类似的链接不起作用


AJAX Request For Like Link Not Working

我正在开发一个带有PDO,PHP和AJAX的类似系统。
但是,它不起作用。

这是PHP代码。

                    $get_likes_sql = "SELECT * FROM `likes` WHERE post_id=:post_id AND liker_id=:my_id";
                    $get_likes = $db->prepare($get_likes_sql);
                    $get_likes->execute(array(
                    ":post_id" => $post_id,
                    ":my_id" => $my_id
                    ));
                    $likes_numrows = $get_likes->rowCount();
                    if ($likes_numrows == 0) {
                        echo "<a class='like-link' id='$post_id' title='Like'>Like</a>";
                    } else {
                        echo "<a class='like-link' id='$post_id' title='Unlike'>Unlike</a>";
                    }

下面是 AJAX 脚本。

$(document).ready(function(){
  $(document).on('click', '.like-link', function(){
    if($(this).attr('title')=='Like'){
      $.post('ajax.like.php',{pid:$(this).attr('id'),action:'like'},function(){
        $(this).text('Unlike');
        $(this).attr('title','Unlike');
     });
  }else{
     if($(this).attr('title')=='Unlike'){
        $.post('ajax.like.php',{pid:$(this).attr('id'),action:'unlike'},function(){
          $(this).text('Like');
          $(this).attr('title','Like');
          });
       }
    }
});
});

问题是单击类似链接后没有任何反应,也没有打开不同链接。

这就是调试的用武之地。首先,让我们看看 AJAX 调用是否成功。放入console.log('foo');语句,使用不同的字符串来跟踪JavaScript代码的作用。如果正在进行 AJAX 调用,则也应该能够在调试器中看到它。

之后,您应该能够看到进入PHP脚本的结果。您可以转储顶部var_dump($_POST);exit;的变量。

还应该有一些代码将$_POST变量链接到$post_id$my_id

由于这不是完整的代码示例,因此我只能为您提供这么多帮助。如果您设法调试了它,请告诉我们。否则,完整的代码示例会很高兴我们为您提供更多帮助。

使用 Console.log 函数查看代码的哪个部分被执行,哪个部分没有执行