我正在写一个在线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的表。这是我的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游戏时,第一次就可以了。但之后没有东西会添加到DB(但我仍然看到警报('成功'))。 最后,抱歉英语不好。
答案 0 :(得分:0)
停用cache
并重试。
$.ajax({
type: "POST",
cache: false,
url: "gameProcess.php",
data: {
'ID' : path
},
dataType: "json",
success: function(){
alert('success');
},
});
答案 1 :(得分:0)
也许你应该添加一个随机的URL地址参数