Javascript JQuery$.ajax未发布多个变量
大家好,我有一个在链接上调用的函数:onclick(),但出于某种原因,$.ajax什么都不做-甚至剥离了我的php代码,只转储了$\u POST var,但我仍然没有从该函数得到任何反馈-我得到的只是警报消息-它也只是用于测试目的 在那里打电话:Javascript JQuery$.ajax未发布多个变量,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,大家好,我有一个在链接上调用的函数:onclick(),但出于某种原因,$.ajax什么都不做-甚至剥离了我的php代码,只转储了$\u POST var,但我仍然没有从该函数得到任何反馈-我得到的只是警报消息-它也只是用于测试目的 在那里打电话: <a href="'.dirname($_SERVER['PHP_SELF']).'?'.$_SERVER['QUERY_STRING'].'&&act=Save " onclick="saveMyGame()">Save
<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');
}
});
}
函数saveMyGame(){
var usern=$('#usern').attr('value');
var usrPoints=$('#userPoints').attr('value');
var usrLevel=$('#userlevel').attr('value');
var saveState=this.imgPath;
警报('保存游戏:'+usern+'点数:'+usrPoints+'级别:'+usrLevel+'状态阶段:'+saveState');
e、 预防默认值();
var svGame={act:'saveGame',user:usern,Points:usrPoints,Level:usrLevel,saveGState:saveState};
$.ajax({
url:“game/lib/updateGame.php”,
类型:“POST”,
cache:false,
资料来源:svGame,
数据类型:“html”,
成功:功能(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);
}
ajax请求中的Url具有相对路径
Url:“game/lib/updateGame.php”
,Url开头没有斜杠,如Url:“/game/lib/updateGame.php”
。
因此,如果您的页面地址与根地址不同(例如),则可能会出现完整路径,因此不会执行服务器方法。您是否收到任何Javascript错误?请检查js控制台以查看发送到服务器的内容。
PHP代码假设选中act
,您在代码中的哪里选中了act
$(“.traget”)或$(“.target”)
我不确定,但e.preventDefault
是否有错误?您没有定义“e”变量。dataType
是服务器返回的类型,它在数据方面没有优点。