嘗試使用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中文網其他相關文章!