如何使用 PHP cURL 发布 JSON 数据,以可读格式返回
即使在您的服务器上,您的代码也未正确发布 JSON 数据,它返回一个空数组。要像 Shopify 的 API 中那样使用 JSON 实现 REST,我们需要解决此问题。
更正 POST 请求
要解决此问题,我们需要对整个内容进行编码以 JSON 格式发布数据,而不仅仅是“客户”字段。修改您的代码如下:
$ch = curl_init($url); # Setup request to send JSON via POST. $payload = json_encode(array("customer" => $data)); curl_setopt($ch, CURLOPT_POSTFIELDS, $payload); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json')); # Return response instead of printing. curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); # Send request. $result = curl_exec($ch); curl_close($ch); # Print response. echo "<pre class="brush:php;toolbar:false">$result";
访问 POST 数据
在另一页上,我们无法使用 $_POST 来检索 POST 数据,因为服务器 -侧面解析。相反,请使用 file_get_contents("php://input"),其中包含 POSTed JSON。要以可读格式查看数据:
echo '<pre class="brush:php;toolbar:false">'.print_r(json_decode(file_get_contents("php://input")),1).'';
其他注意事项
以上是为什么我的 PHP cURL POST 请求在发送 JSON 数据时返回空数组?的详细内容。更多信息请关注PHP中文网其他相关文章!