猿问

尚未设置Ajax POST,但仍会激活php if语句的一部分

在尝试使用Ajax将数据从第1页发布到第2页时,第2页上的if语句让我知道$_POST未设置-但尽管未满足条件,但它仍运行部分代码,但不是全部代码。该问题在XAMPP和我的Web服务器上仍然存在。


第1页上的按钮以发布数据:


<button type="button" class="btn postBtn" onclick="location.href='page2.php'" id="1337">Click me</button>

通过第1页上的Ajax发送数据:


$(document).ready(function(){

    $('.postBtn').click(function(){            

    var id = $(this).attr("id");  

    $.ajax({  

        url:"page2.php",  

        method:"post",  

        data:{

                id:id,

            },  

        });  

    });     

});

PHP if第2页上的语句:


if (isset($_POST['id'])) {

    echo $_POST['id'];

    $_SESSION['id'] = $_POST['id'];

} else {

    echo "no id posted";

}

单击按钮时,我希望if语句回显1337并设置$_SESSION['id'] = 1337。但是,当我实际单击该按钮时,回显就会显示no id posted,但令人惊讶地print_r($_SESSION)显示[id] => 1337。


关于我所缺少的任何想法?


达令说
浏览 133回答 1
1回答

慕盖茨4494581

如果要使用ajax发布值,请删除按钮的onclick。如果要查看结果,请在ajax中回显“添加成功”字段,并在其中管理结果。$('.postBtn').click(function(){&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; var id = $(this).attr("id");&nbsp;&nbsp;&nbsp; &nbsp; $.ajax({&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; url:"page2.php",&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; method:"post",&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; data:{id:id,},&nbsp; &nbsp; &nbsp; &nbsp; success: function(res) {&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; console.log(res);&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp;&nbsp; &nbsp; });&nbsp;&nbsp;});
随时随地看视频慕课网APP
我要回答