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

时间:2015-01-17 17:02:07

标签: javascript php jquery ajax pdo

我正在使用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');
          });
       }
    }
});
});

问题是,在不同的链接上点击类似的链接后没有任何反应。

2 个答案:

答案 0 :(得分:1)

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

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

还应该有一些代码,其中$_POST变量与$post_id$my_id相关联。

由于这不是完整的代码示例,我只能帮助你。如果您设法调试它,请告诉我们。否则,完整的代码示例将很适合我们帮助您。

答案 1 :(得分:-1)

使用Console.log函数查看代码的哪一部分已执行,哪些不是