dpxw17759
dpxw17759
2014-01-06 16:40

从客户端获取Redis的新值

I'm using PHP with PHPRedis to connect to Redis.

This works fine

            $redis = new Redis();
            $redis->connect('localhost', 6379);
            $total = $redis->get('total');

Let's say $total is now 1. I then use the Redis client to increment the key 'total' so that it has a value of 2.

But now I want a user to be able to see the new value when they click a button

        <script type="text/javascript">
            window.onload=function() {
                $('#newTotal').click(function (event) {
                        <?php
                            $redis = new Redis();
                            $redis->connect('localhost', 6379);
                            $total = $redis->get('total');
                        ?>
                        $("#updated").html("Total is now <?php echo $total; ?>");

                });
            }
        </script>

But this does not give the new value.

How can I connect to get the updated values?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • dongtiao2066 dongtiao2066 7年前

    You have to understand, PHP is running on the server-side and jQuery is on the client. That being said you'll need to use AJAX. The following would be one quick way to do it:

    $('#newTotal').click(function (event) {
        $.ajax({
            url: 'yourPHPfile.php',
            type: 'GET',
            success: function(data) {
                $("#updated").html("Total is now " + data);
            }
        });
    });
    

    And in the yourPHPfile

     $redis = new Redis();
     $redis->connect('localhost', 6379);
     $total = $redis->get('total');
    
     echo $total; //this is seen as the "data" parameter in the AJAX success
    
    点赞 评论 复制链接分享