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