将全局javascript变量传递给php

时间:2012-04-23 16:26:13

标签: php javascript jquery html5 canvas

我有一个index.php文件,我有画布游戏。这个游戏是从单独的game.js文件加载的,我有变量:ballsCought。我想要这个可靠和名称inputet文本输入传递点击到另一个PHP文件。我的代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>Simple Canvas Game</title>
    <script src="http://code.jquery.com/jquery-latest.js"></script>
    <script>
        $(document).ready(function(){

            function score(){
                $('#score').fadeIn(1000);
                $('#score').load("load_players.php");
            };

            setInterval(score , 1000);

            var nam = $("#name").val();         

            $('#submit').keyup(function(e){
                if(e.keyCode == 13){
                $.post('upload_score.php','n=' +nam, 'score=' +ballsCought);
                }
            });

            $('#submit').click(function(e){
                $.post('upload_score.php','n=' +nam, 'score=' +ballsCought);
            });

        });
    </script>
</head>
<script src="game.js"></script>
<body>
    <canvas id="canvas" width="525" height="525"></canvas>
    <br /><p><span id="points"></span><input type="text" id="name" placeholder="Name..."/><input type="submit" id="submit" value="Submit"/></p>
    <br /><span id="score"></span>
</body>
</html>

但是这个帖子功能没有任何想法?谢谢你...

1 个答案:

答案 0 :(得分:1)

看起来你的$ .post方法不正确。如果要将数据传递到PHP页面,则需要使用JavaScript对象表示法,如下所示:

$.post('upload_score.php', {n: nam, score: ballsCought});

您可以在jQuery Docs页面

中详细了解调用$ .post的各种方法

现在您的PHP页面仍然存在问题。您应该使用类似Firebug的内容来查看Ajax请求以及可能返回的任何错误。