php - 为什么我的 PHP 在 AJAX 调用上返回 NULL?

标签 php jquery ajax

我试图将一个数组从 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/

相关文章:

JavaScript 滚动到底部不起作用

javascript - 单击按钮时 Nav 消失,这只需要 < 767

php - PHP Comet 聊天系统的可扩展性问题

php - htmlspecialchars 不允许换行?

php - 在 PHP 中读取电子邮件并将数据保存到数据库

php - 使用动态名称访问命名空间内的常量

javascript - 在 Javascript 上拖放

javascript - JQuery 不运行简单的乘法函数

android - 如何查看/调试手机浏览器发送的非标准请求 header ?

ajax - 如何在单个页面上处理多个异步错误?