当试图在php端显示$ _POST的结果时, 当我使用“ array(0){}”时:
<?php
var_dump($_POST);
?>
我尝试了最基本的解决方案,在其中创建了一个新按钮,该按钮执行了一个称为“ sendAJAX()”的新功能:
<head>
<script>
function sendAJAX(){
$.ajax({
method: "POST",
url: "includes/displayAJAX.php",
data: { name: "John Doe", age: "19" }
}).done(function( msg ) {
alert(msg);
});
window.top.location = "includes/displayAJAX.php";
}
</script>
</head>
<div class="container-login100-form-btn">
<button onclick="sendAJAX()">POST</button>
</div>
在php文件中,它很简单:
<?php
print $_POST["name"];
?>
我收到成功警报,并弹出预期的数据,但是当我重定向到该PHP页面“未定义的索引:名称”而不是“ name:john doe,age:19”
答案 0 :(得分:0)
您不能直接从PHP页面本身检查$_POST
的结果。
当结果被发送回调用ajax函数时,您必须对其进行检查。
一种好的方法是使用浏览器的控制台。
您的ajax应该如下所示:
function sendAJAX(){
$.ajax({
method: "POST",
url: "includes/displayAJAX.php",
data: {
name: "John Doe",
age: "19"
},
dataType: 'json',
cache: false,
success: function(data){
console.log(data); //Use your browser's console to see your data here.
}
});
});
您的php应该如下所示:
<?php
echo json_encode($_POST);
?>
如果在此之后您需要重定向到另一个页面,则可以在ajax的成功函数中添加适当的代码。
像这样:
success: function(data){
window.top.location = "path/to/another/page.php";
}
希望有帮助。