【问题标题】:Wordpress AJAX / PHP $_POST object is always emptyWordpress AJAX / PHP $_POST 对象始终为空
【发布时间】:2017-10-31 15:30:41
【问题描述】:

这似乎更像是一个 PHP 问题而不是 Wordpress 问题,但它在运行 WP 的服务器上,所以我将它包括在内以防万一。

我有一个像这样的 JS 对象:

{
  "Name": "Test Names",
  "Company": "Test Company",
  "Email": "TestEmail@mail.com",
  "Phone": "234556",
  "FoundPlattarHow": "Internet",
  "Interest": "Building",
  "ReceiveUpdates": "1"
}

目前我只有一个空白的 PHP 文件,位于/lib/contact.php:

<?php 
    echo "HELLO" . $_POST['Email'];
    prettyPrint($_POST);        

    function prettyPrint($a) {
        echo "\n";
        print_r($a);
        echo "\n";
    }

?>

我正在使用 POSTMAN(当我从浏览器执行实际 AJAX 请求时,结果相同),并将上面的 JS 作为 application/JSON 作为 POST 请求发送到脚本。

我得到的输出是:

HELLO
Array
(
)

所以我的数据似乎根本没有通过。我在这里做错了什么?!

【问题讨论】:

  • 您的表单代码是什么样的?似乎有很多缺失的代码可以清楚地了解发生了什么,以及您的问题是什么。

标签: php ajax wordpress


【解决方案1】:

您正在使用“Content-type: application/json”标头发送请求正文中的数据。在这种情况下,您应该使用以下方法,

$data = file_get_contents("php://input");
$json = json_decode($data, true);
var_dump($json);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-07
    • 1970-01-01
    • 2011-09-17
    • 2020-02-28
    • 1970-01-01
    相关资源
    最近更新 更多