繁体   English   中英

使用AJAX请求进行PHP计数

[英]PHP Counting with AJAX Request

我正在尝试计算SESSION变量,但我不希望用户看到任何刷新。

我下面的代码的问题是,它只更改一个,然后需要刷新。 我该如何做而无需任何刷新?

test page:

     <?php session_start(); ?>
            <script src="../../../common/js/jquery-1.11.2.min.js"></script>
        <script src="../../../common/js/jquery.touchwipe.min.js"></script>
    <?php
    if(empty($_SESSION['counter'])){
    $_SESSION['counter'] = 1;
    }
    $count = $_SESSION['counter'];


    ?>
    <div id="main"><?= $count; ?></div>
    <button id="detailed">Link</button>

    <script type="text/javascript">
        $(document).ready(function(){
            $(document).on('click','#detailed',function(){
                var count = "<?= $count ?>";
                count++;
                $.ajax({
                    type: "POST",
                    url: "test.php",
                    data: {countertje: count},
                    success:function(data){
                        $('#main').html(data);
                        console.log(data);
                    }

                });
            })

        });
    </script>

do_ajax.php

    <?php
    session_start();
    $_SESSION['counter'] = $_POST['countertje'];
    echo $_SESSION['counter'];
    ?>

您可以在javascript中使用的东西

 var count = $('#main').val();

而不是跟随:

var count = "<?= $count ?>";

在javascript中编写PHP代码不是一个好主意!

<script type="text/javascript">
        var count = "<?= $count ?>";
        $(document).ready(function(){
            $(document).on('click','#detailed',function(){
                count++;
                $.ajax({
                    type: "POST",
                    url: "test.php",
                    data: {countertje: count},
                    success:function(data){
                        $('#main').html(data);
                        console.log(data);
                    }

                });
            })

        });
    </script>

count应该是一个全局变量

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM