将全局 JavaScript 变量传递给 php


Pass global javascript variables to php

我有一个索引.php文件,我有画布游戏。这个游戏是从单独的游戏加载的.js文件中我有变量:ballsCought。我希望这个警惕和名称输入到文本输入在单击时传递到另一个 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>

但是这个帖子功能不起作用任何想法?谢谢。。。

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

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

您可以从 jQuery Docs 页面阅读有关调用 $.post 的各种方法的更多信息。

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