我想弄清楚,有没有办法将原始 json 发送到 php 而不是 POST 参数。如果可能,那么哪种方式最好,我的意思是请求正文或 POST 参数。
问问题
517 次
1 回答
4
发送一个以 JSON 字符串作为请求正文的 HTTP 请求(此处:curl
在命令行上使用):
$ curl -d '{"foo":"bar"}' example.com/test.php
在 PHP 中阅读此请求正文:
$json = file_get_contents('php://input');
解码它:
$data = json_decode($json, true);
如果 POST 请求的请求正文包含 URL 编码的键值对(例如),PHP 的$_POST
超全局变量会自动填充为数组。在上面的示例中,您仍然使用带有“POST 数据”的 HTTP POST 请求。它只是不会自动结束,因为 PHP 不知道如何自动解码 JSON。foo=bar&baz=42
$_POST
于 2013-05-15T11:19:14.937 回答