Wordpress AJAX / PHP $ _POST对象始终为空

时间:2017-10-31 15:30:41

标签: php ajax wordpress

这似乎更像是一个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
(
)

所以似乎我的数据实际上都没有通过。我在这里做错了什么?!

1 个答案:

答案 0 :(得分:2)

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

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