首页 > 解决方案 > 当我尝试使用ajax发送一些变量时,为什么我总是在php响应中得到NULL

问题描述

我想使用ajax将一些json数据从javascript传递到php文件

我已经尝试了很多来自互联网的解决方案,但没有一个有效。

这是我的 javascript 文件(a.html):

    <html>
    <head></head>
    <body>
      <script 
      src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js" 
      </script>
      <script>
        var dataPwm = {dataHeat : 1};
        console.log(dataPwm)

        $.ajax({
          type: "POST",
          url: "b.php",
          data: {dataHeat : 1},
          //cache: false,
          success: function(response){
            console.log(response);
          }
        });
    </script>
    </body>
    </html>

这是我在同一目录中的 php 文件(b.php):

    <?php
        $json_string = $_POST["dataHeat"];
        var_dump(json_decode($json_string));
    ?>

我希望输出为 1,但结果为 NULL

标签: phpajax

解决方案


你没有包括 Jquery!在 head 中使用它,它将起作用:

<script
      src="https://code.jquery.com/jquery-3.4.1.min.js"
      integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo="
      crossorigin="anonymous">
</script>

您正在使用 jquery 进行 ajax,因此您应该首先加载它然后使用它。就是这么简单。除此之外,您的代码是完全正确的。你应该在控制台中期待 int(1) 。


推荐阅读