通过jQuery的$ .post()方法发布字符串时,var_dump()-ing $ _POST变量显示空数组

时间:2019-05-12 06:17:53

标签: php jquery

让我们举个例子来说明我的问题:

index.html:

<!doctype html>

<html>

  <head>

    <title>Testing XHR</title>

    <script src="https://code.jquery.com/jquery-3.3.1.js"></script>

  </head>

  <body>

    <script>

      $(function()
      {
        const test = "This is a test text.";
        $.post("test.php", {data: test}, function()
        {
          console.log(test);
        });
      });

    </script>

  </body>

</html>

test.php:

<?php
var_dump($_POST);

因此,当我加载index.html时,它将成功完成$.post()的请求。我已经通过Chrome的“网络”标签下的“检查”选项进行了检查。但是当我加载test.php时,它显示为空字符串。我已经在本地服务器和实时服务器上对其进行了测试,结果是相同的。我在做什么错了?

2 个答案:

答案 0 :(得分:0)

控制台记录您从test.php获得的响应。

$.post("test.php", {data: test}, function(response)
{
    console.log(response);
});

加载test.php不会向您显示帖子数据。

答案 1 :(得分:0)

说您是通过运行html文件在上午9点发送数据的。它将数据发送到php。但是由于php没有返回响应,因此您无法做到这一点。 现在您在说9.01am运行php文件。您现在将如何获取数据?

您需要打印出答复。

尝试以下操作。

$(function()
      {
        const test = "This is a test text.";
        $.post("test.php", {data: test}, function(response)
        {
          console.log({test, response});
        });
      });