0

我正在编写一个在线 tictactoe 游戏,并且我在 javascript 中有一个函数,可以检查屏幕中单击的某些位置是否不是 X 或 O,然后用 X 或 O 标记它,然后更新单击的数据库。这是我在 play.php 页面(这是在)中的 javascript 代码,用isEmpty函数检查。path是检测tictactoe中哪些单元格被点击的变量(从1到9):

....
if (isEmpty(xBoard, oBoard, bit)) {
    path.push(y*3+x+1);
    alert(path);
    markBit(bit, playerXO);
    $.ajax({
           type: "POST",
           url: "gameProcess.php",
           data: {
                    'ID' : path
                    },
           dataType: "json",

           success: function(){
                alert('success');

           },
    });
....

我使用 ajax 用 PHP (gameProcess.php) 更新数据库中的某些内容并发送“ID”值以写入 mysql Database.here 是我的 gameProcess.php 代码:

<?php

function post($key) {
if (isset($_POST[$key]))
    return $_POST[$key];
return false;
}

// setup the database connect
$cxn = mysql_connect('localhost', 'root', 'Mazda1428');
if (!$cxn)
exit;
mysql_select_db('irgc', $cxn);

// check if we can get hold of the form field
if (!post('ID'))
exit;

// let make sure we escape the data
$val = mysql_real_escape_string(post('ID'), $cxn);

// lets setup our insert query
$sql = "UPDATE  game SET sequence=".$val." WHERE id = 2;";

// lets run our query
$result = mysql_query($sql, $cxn);

// setup our response "object"
$resp = new stdClass();
$resp->success = false;
if($result) {
$resp->success = true;
}

print json_encode($resp);
?>

但是当我打开浏览器并进入 play.php 并单击 tictactoe 游戏时,第一次就可以了。但在那之后,数据库中不会添加任何东西(但我仍然看到警报('成功'))。最后,抱歉英语不好。

4

2 回答 2

0

禁用并重cache试。

$.ajax({
       type: "POST",
       cache: false,

       url: "gameProcess.php",
       data: {
                'ID' : path
                },
       dataType: "json",

       success: function(){
            alert('success');

       },
});
于 2013-07-27T11:18:33.960 回答
0

也许您应该添加一个随机 URL 地址参数

于 2013-07-27T11:36:27.137 回答