1

为我的博客文章网站处理喜欢/不喜欢的功能,变量不会通过。我已经盯着这个看了好几天了,因为所有的代码看起来都很好,并且我已经包含了所有包含变量的必要页面,所以找不到中断。有什么见解吗?

这是我用于“喜欢”按钮的“按钮”:

    <a href="#" onclick="like_add('. $blabid .')" class="like">Like</a> <span id="likes" class="likereadout">' . $likes . '</span>

id 变量在我“检查元素”时正确显示,但不会传递给以下 Java 函数:

    function like_add(postid) {
     $.post('like_add.php', {postid:postid}, function(data) {
     if (data == 'success') {
     alert('Woohoo');
     } else { 
       alert('I need sleep.');
       }
      });
      }

Javascript 应该将变量传递给 like_add.php,内容如下:

    <?php
    include 'init.php';
    if (isset($_POST['postid']) && article_exists($_POST['postid'])) {


    $postid = $_POST['postid'];

    if (previously_liked($postid) === true) {
    echo 'You\'ve already liked this!';
} else {
  add_like($postid);
  echo 'success';
  }
     }
     ?>

其中引用了 init.php 文件中包含的以下 php 函数:

    function article_exists($postid) {
     $postid = (int)$postid;
     return (mysql_result(mysql_query("SELECT COUNT('id') FROM 'blabbing' WHERE 'id' = $postid"), 0) == 0) ? false : true;

}

和:

    function add_like($postid) {
     $postid = (int)$postid;
     mysql_query("UPDATE 'blabbing' SET 'likes' = 'likes' + 1 WHERE 'id'= $postid");
     mysql_query("INSERT INTO 'likes' ('user_id', 'id') VALUES ($ip, $postid)");
     }

Realllll 对所有这些都是新的,所以请对我放轻松。非常感谢你的帮助!

function article_exists($postid) {
     $postid = (int)$postid;
     return (mysql_result(mysql_query(
4

1 回答 1

0

When you send AJAX data throught $.post, it have to be stringified:

$.post('like_add.php', JSON.stringify({postid:postid}), function(data) {
于 2012-06-29T07:06:24.370 回答