Rumah >pembangunan bahagian belakang >tutorial php >Mengapakah permintaan PHP cURL POST saya mengembalikan tatasusunan JSON kosong?
Apabila cuba menyiarkan data JSON dengan PHP cURL, anda mungkin menghadapi masalah apabila tatasusunan yang terhasil kekal kosong . Artikel ini menangani masalah ini dan menyediakan penyelesaian.
Penyiaran JSON Salah
Dalam kod yang anda berikan, data JSON tidak diformatkan dengan betul untuk disiarkan. Daripada menggunakan curl_setopt($ch, CURLOPT_POSTFIELDS, array("customer" => $data_string)), anda harus mengekod keseluruhan tatasusunan data sebagai JSON dan menyiarkannya sebagai muatan: curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(array( "pelanggan" => $data))).
Keputusan Tidak Dijangka
Walaupun dengan pemformatan JSON yang betul, menggunakan print_r ($_POST) untuk mendapatkan semula data yang disiarkan adalah tidak berkesan. Untuk mengakses data JSON yang masuk, gunakan file_get_contents("php://input") pada halaman penerimaan.
Coretan Kod Yang Diperbaiki
Coretan kod berikut menunjukkan pendekatan yang betul:
$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";
Pihak Ketiga Perpustakaan
Pertimbangkan untuk memanfaatkan perpustakaan pihak ketiga untuk antara muka dengan Shopify API. Ini boleh memudahkan proses dan menyediakan kefungsian tambahan.
Atas ialah kandungan terperinci Mengapakah permintaan PHP cURL POST saya mengembalikan tatasusunan JSON kosong?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!