是否可以根据ajax请求的结果更改html内容而不刷新页面?

时间:2017-08-16 15:36:47

标签: php jquery ajax

我的网站上有一个upvote / downvote选项。因为页面没有刷新,所以我可以在不必刷新页面的情况下提升图像,因为页面不会刷新,在upvote之后图像的分数也不会刷新。因此,即使我的图像在我的数据库中有1个upvote,该页面也会显示0个upvotes,直到刷新为止。我知道我可以在函数(数据)中返回一些数据,但是我不知道如何在网站上显示它。这是我想要更改的html内容。

echo    "<div class='ratingNumber'>";
            if ($row['upvotes'] - $row['downvotes'] <= 0) {
                echo "<p>0</p>";
            } else {
                echo $row['upvotes'] - $row['downvotes'];
            }
echo    "</div>";

这是我的ajax请求。

$('.upvoteImage, .downvoteImage').submit(function(e){
        e.preventDefault();

        var form = $(this);

        var id = form.find("input[name='id']");
        var userId = form.find("input[name='userId']");
        var action = form.find("input[name='action']");
        var ratingNumber = form.parent('.upvoteDownvoteRatingContainer').find('.ratingNumber');

        $.post('../includes/voting.inc.php', {id: id.val(), userId: userId.val(), action: action.val()}, function(data){

        });

    });

这是我的voting.inc.php文件的一部分,其中包含upvote / downvote逻辑。这是我想在最后返回的部分,然后以某种方式将它显示在ratingNumber div的索引页面上。

$sql10 = "SELECT * FROM image WHERE id='$imageId'";
        $result10 = mysqli_query($conn, $sql10);
        $getResult10 = mysqli_fetch_assoc($result10);
        $upvotes = $getResult10['upvotes'];
        $downvotes = $getResult10['downvotes'];
        $finalVote = $upvotes-$downvotes;
        return $finalVote

现在我不确定我应该在函数(数据)中写什么,以便从PHP文件中获取$ finalVote,然后将$ ratingVumber的当前值替换为$ finalVote中的值。任何提示和指示都会有所帮助。

0 个答案:

没有答案