嗨大家我在链接上调用了以下函数:onclick(),但由于某种原因$ .ajax什么也没做 - 甚至剥离了我的php代码只转储$ _POST var但我仍然得不到函数的反馈 - 我得到的是警报信息 - 这也是出于测试目的......
在那里打电话:
<a href="'.dirname($_SERVER['PHP_SELF']).'?'.$_SERVER['QUERY_STRING'].'&&act=Save " onclick="saveMyGame()">Save</a>
function saveMyGame(){
var usern = $('#usern').attr('value');
var usrPoints = $('#userPoints').attr('value');
var usrLevel = $('#userlevel').attr('value');
var saveState = this.imgPath;
alert('Saving your game: '+usern+' Points: '+usrPoints+' Level: '+usrLevel+' state phase: '+saveState);
e.preventDefault();
var svGame = {act:'saveGame',user:usern, Points:usrPoints, Level:usrLevel, saveGState:saveState} ;
$.ajax({
url: "game/lib/updateGame.php",
type: "POST",
cache: false,
data: svGame,
dataType: "html",
success: function(svGame) {
$(".traget").html(svGame).fadeIn('slow');
}
});
}
PHP代码假设检查act,然后验证是否传递了所有必需的信息,而不是处理请求或显示错误信息...
<?php
if(isset($_POST['act']) && $_POST['act'] == 'saveGame') {
//Process save game request
/*if(isset($_POST['user']) && isset($_POST['userPoints']) && isset($_POST['userLevel']) && isset($_POST['saveGState']) ) {
$Game->saveGame();
echo'<br>....'.$_POST['user'];
} else {
echo 'Please provide correct information for saving...';
}
*/
echo var_dump($_POST);
}
答案 0 :(得分:-1)
网址的相对路径url: "game/lib/updateGame.php",
在网址的开头没有斜线,如url: "/game/lib/updateGame.php",
。
因此,如果您的页面地址与root不同(例如http://yourdomain.com/games/),则完整路径将为http://yourdomain.com/games/game/lib/updateGame.php,因此不会执行服务器方法。