首頁 > 後端開發 > php教程 > 為什麼我的 PHP cURL POST 請求回傳空 JSON 陣列?

為什麼我的 PHP cURL POST 請求回傳空 JSON 陣列?

Patricia Arquette
發布: 2024-12-17 22:30:14
原創
543 人瀏覽過

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_encodeELDS, json_encodeELDS, json_en代碼“客戶”=> $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
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板