如何在 PHP 中获取 node-fetch 的数据?
How to get node-fetch's data in PHP?
我正在尝试制作一个将 JSON 数据发送到 PHP 服务器并从中获取响应的应用程序。我正在为此使用 JavaScript node-fetch 库。
这是我的示例代码:
const fetch = require("node-fetch");
let data = JSON.stringify(something);
fetch("https://example.com/api", {
method: "post",
body: data,
headers: { 'Content-Type': 'application/json' }
})
.then(res => res.text())
.then(ret=>{
console.log(ret);
});
我正在尝试通过 PHP 中的 $_POST 获取此信息:
var_dump($_POST);
但它 returns 空数组。
我怎样才能在 PHP 上看到这个,或者我做错了什么?
$_POST
is only filled with values when receiving a request body with the application/x-www-form-urlencoded
or multipart/form-data
Content-Type header.
所以你需要像这样处理 JSON 主体:
$inputJSON = file_get_contents("php://input");
$input = json_decode($inputJSON, true);
var_dump($input);
我正在尝试制作一个将 JSON 数据发送到 PHP 服务器并从中获取响应的应用程序。我正在为此使用 JavaScript node-fetch 库。
这是我的示例代码:
const fetch = require("node-fetch");
let data = JSON.stringify(something);
fetch("https://example.com/api", {
method: "post",
body: data,
headers: { 'Content-Type': 'application/json' }
})
.then(res => res.text())
.then(ret=>{
console.log(ret);
});
我正在尝试通过 PHP 中的 $_POST 获取此信息:
var_dump($_POST);
但它 returns 空数组。
我怎样才能在 PHP 上看到这个,或者我做错了什么?
$_POST
is only filled with values when receiving a request body with theapplication/x-www-form-urlencoded
ormultipart/form-data
Content-Type header.
所以你需要像这样处理 JSON 主体:
$inputJSON = file_get_contents("php://input");
$input = json_decode($inputJSON, true);
var_dump($input);