JQuery $ .ajax没有发布多个vars

时间:2014-03-18 07:43:56

标签: javascript php jquery ajax

嗨大家我在链接上调用了以下函数: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);
}

1 个答案:

答案 0 :(得分:-1)

您的ajax请求中的

网址的相对路径url: "game/lib/updateGame.php",在网址的开头没有斜线,如url: "/game/lib/updateGame.php",。 因此,如果您的页面地址与root不同(例如http://yourdomain.com/games/),则完整路径将为http://yourdomain.com/games/game/lib/updateGame.php,因此不会执行服务器方法。