Rumah >pembangunan bahagian belakang >tutorial php >Mengapakah permintaan PHP cURL POST saya mengembalikan tatasusunan JSON kosong?

Mengapakah permintaan PHP cURL POST saya mengembalikan tatasusunan JSON kosong?

Patricia Arquette
Patricia Arquetteasal
2024-12-17 22:30:14545semak imbas

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

Menyiarkan Data JSON dengan PHP cURL: Menyelesaikan Masalah Tatasusunan Hasil 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn