在尝试使用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,
},
});
});
});
第2页上的if语句:
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
。
关于我所缺少的任何想法吗?
答案 0 :(得分:1)
如果要使用Ajax发布值,请删除按钮的onclick。如果要查看结果,请在ajax中回显“添加成功”字段,并在其中管理结果。
$('.postBtn').click(function(){
var id = $(this).attr("id");
$.ajax({
url:"page2.php",
method:"post",
data:{id:id,},
success: function(res) {
console.log(res);
}
});
});