我试图将一个数组从 PHP 返回到 AJAX,但它返回 NULL,而不是我发送回 AJAX 的数据
这是我的代码
header.php
<?php
include_once("obtainData.php");
?>
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>AJAX CALL</title>
<!-- JQuery -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
</head>
<body>
index.php
<?php
include_once("header.php");
?>
<div>
<h3>AJAX CALL</h3>
<p>
<?php
sendData();
?>
</p>
</div>
<?php
include_once("footer.php");
?>
页脚.php
<script>
$.ajax({
url: "obtainData.php",
data: {action: 'sendData'},
type: 'GET',
success: function(data) {
alert(data);
alert("Success");
},
error: function() {
alert( "Error." );
}
});
</script>
</body>
</html>
获取Data.php
<?php
if(isset($_POST["action"])){
$action = $_POST['action'];
switch($action) {
case 'sendData':
sendData();
break;
}
}
function sendData(){
$array = [];
for($i = 0; $i < 20; $i++){
$array[$i] = "prove";
}
echo json_encode($array);
}
?>
如果我在嵌入的 PHP 上调用 sendData
方法,它会显示输出,但我无法从 AJAX 调用中获取它。
我错过了什么吗?
提前致谢!
最佳答案
您在 Ajax 调用中使用type: 'GET',
。
并且您正在尝试在 php 文件中检索 $_POST
。这就是为什么什么也得不到的原因。
因此将 type: 'GET',
更改为 type: 'POST',
关于php - 为什么我的 PHP 在 AJAX 调用上返回 NULL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42551365/