Bagaimana untuk Mengendalikan Permintaan JSON dengan Jenis Kandungan \'application/JSON\' dalam PHP?

Susan Sarandon
Lepaskan: 2024-10-20 22:58:30
asal
366 orang telah melayarinya

How to Handle JSON Requests with

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>
Salin selepas log masuk

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!

sumber:php
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!