首页 > 后端开发 > php教程 > 为什么我的 PHP cURL POST 请求返回空 JSON 数组?

为什么我的 PHP cURL POST 请求返回空 JSON 数组?

Patricia Arquette
发布: 2024-12-17 22:30:14
原创
542 人浏览过

Why is my PHP cURL POST request returning an empty JSON array?

使用 PHP cURL 发布 JSON 数据:对空结果数组进行故障排除

尝试使用 PHP cURL 发布 JSON 数据时,您可能会遇到结果数组仍为空的问题。本文解决了此问题并提供了解决方案。

JSON 发布不正确

在您提供的代码中,JSON 数据的发布格式不正确。您应该将整个数据数组编码为 JSON 并将其作为有效负载发布,而不是使用curl_setopt($ch, CURLOPT_POSTFIELDS, array("customer" => $data_string)):curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(array( “客户”=> $data))).

意外结果

即使使用正确的 JSON 格式,使用 print_r ($_POST) 检索发布的数据也是无效的。要访问传入的 JSON 数据,请在接收页面上使用 file_get_contents("php://input")。

改进的代码片段

以下代码片段演示了正确做法:

$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
";
登录后复制

第三方库

考虑利用第三方库与 Shopify API 进行交互。这可以简化流程并提供额外的功能。

以上是为什么我的 PHP cURL POST 请求返回空 JSON 数组?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板