PHP Mengendalikan Permintaan JSON dengan Aplikasi/Jenis Kandungan JSON
Apabila menghantar permintaan AJAX dengan jenis kandungan ditetapkan kepada "application/json", Tingkah laku lalai PHP dalam menerima parameter permintaan menjadi samar-samar. Isu ini timbul kerana jangkaan PHP terhadap parameter siaran dikodkan URL, manakala data yang dikodkan JSON tidak.
Dalam senario sedemikian, jika jenis kandungan ialah "aplikasi/json," mengakses parameter melalui PHP $ _POST (digunakan untuk data berkod URL) akan mengembalikan tatasusunan kosong. Untuk mengendalikan permintaan JSON dalam PHP dengan betul, pendekatan alternatif diperlukan.
Penyelesaian: Menggunakan file_get_contents() untuk Mendapatkan Data JSON
Daripada bergantung pada $_POST, PHP menyediakan fungsi file_get_contents() untuk membaca data mentah daripada pelbagai sumber, termasuk aliran input PHP. Apabila digabungkan dengan json_decode(), fungsi ini membolehkan anda menghuraikan dan menggunakan data berkod JSON dalam skrip PHP anda.
Berikut ialah contoh yang menunjukkan cara mengendalikan permintaan JSON dengan jenis kandungan "application/json" dalam PHP:
<code class="php"><?php $json_data = json_decode(file_get_contents('php://input')); var_dump($json_data); ?></code>
Dalam contoh ini, file_get_contents('php://input') mendapatkan semula data JSON mentah daripada permintaan dan json_decode() menukarkannya kepada tatasusunan atau objek, yang kemudiannya boleh diakses dan diproses lebih lanjut dalam skrip anda.
Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan Permintaan JSON dengan Jenis Kandungan \'application/JSON\' dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!