1

我正在做我的第一个 javascript 游戏,我几乎完成了它,但我想添加的最后一件事是记分牌。我已经设置了一个简单的数据库表([id][author][time]),通过 PDO 的连接工作完美,等等。

我的游戏包含一个 div,在关卡结束时 jQuery 设置用户的时间。这个 div 可能是我将发送到数据库的分数来源。还有一个“再次”按钮可以重新加载整个内容。它可能是一个表格“发件人”。

有我想象中的工作路径:

开始游戏 > 加载记分板脚本 > 完成关卡 > 用户按“再次”,得分进入数据库 > 重新加载页面

我的问题是如果我最后使用:

<form method="POST" action="somescript.php"></form>

结果我得到了somescript.php,但我想在后台执行此操作,同时将加载新游戏。

我的问题是如何使该脚本“安静” - 按“重新加载页面”,脚本在后台完成,我有一个更新数据库的新游戏?

4

3 回答 3

3

您可以为此使用 AJAX,请查看http://api.jquery.com/jQuery.ajax/

例子:

$('input[type="submit"]').on('click', function(e) {

    // Stop form submission
    e.preventDefault();

    // Create AJAX request
    var request = $.ajax({
        url: "somescript.php",
        type: "POST",
        data: { score: $('#elementthatcontainsscore').val() },
        dataType: "json"
    });

    // Alert whatever is returned from your script
    request.done(function( res ) {
        alert(res);
        // You can reset form stuff here too
    });
});
于 2013-09-24T00:18:27.877 回答
0

查看 AJAX 请求。jQuery 的 $.ajax 是你的朋友

var score = $("#score").text();
$.ajax({
    url: 'somescript.php',
    data: {
        score: score
    },
    type: 'POST',
    success: function() {
        //do something?
    }
})
于 2013-09-24T00:14:28.357 回答
0

可能有更好的方法,但我可能会在 somescript.php 的末尾添加它

$theResults = <<<EOD
<script type="text/javascript">
     window.location.href = "http://example.com"
</script>
EOD;

echo "$theResults";
于 2013-09-24T00:17:38.450 回答