AJAX和PHP制作像按钮

时间:2013-07-13 18:20:35

标签: javascript php ajax

我喜欢这个按钮代码我希望点击后会有相同的数字,但需要刷新页面我该怎么做:

    <script type="text/javascript">
jQuery(document).ready(function ($) { 
    $('body').on( 'click' , '.votebutton' , function(){
        var span = $(this).children('span');
        var no = parseInt($(this).text(), 10);
        $(span).text(++no);
        var _id = $(this).data('vote');
        $.ajax({
            type: 'POST',
            url: 'vote.php',
            data: { 
                id: _id
            }
        });
    });
});
</script>
<?php 
$q = mysql_query("SELECT * FROM vote");while($row = mysql_fetch_array($q)){
$item[] = $row;
foreach($item as $i){}
  echo "<button class='votebutton' data-vote='".$row[0]."'>Up vote</button><span>".$row[1]."</span>";
}
?>

2 个答案:

答案 0 :(得分:1)

看起来你有两种选择。您可以A)使帖子请求返回新的计数;或者B)用jQuery手动增加它,这会更快但不一定准确。

对于第一个选项,您将AJAX请求更改为

$.ajax({
    ...
}).done(update_count)

其中update_count是一个将请求作为参数并更新按钮计数的函数。此方法较慢,但它会在每个实例上显示精确的计数,因为显示的值始终是数据库中的最新值。

对于第二个选项,您可以选择按钮的范围并使用jQuery更新其值。这会稍快一些,因为它不必等待AJAX​​查询完成,但它只会增加一次,即使其他人点击了“喜欢”按钮。

答案 1 :(得分:0)

使用location.reload();刷新页面。