Menyahkod Data JSON daripada Ajax dalam PHP
Apabila cuba menghantar data JSON daripada permintaan Ajax kepada skrip PHP, anda mungkin menghadapi isu di mana data tidak diterima atau dihuraikan dengan betul. Untuk menyelesaikan masalah ini, soalan biasa ialah cara menghantar data JSON daripada Ajax dengan berkesan dan menyahkodnya dalam PHP.
Penyelesaian
1. Alih Keluar Pengepala Jenis Kandungan
Dalam permintaan Ajax, alih keluar pengepala ContentType:
$.ajax({ type: "POST", dataType: "json", url: "add_cart.php", data: {myData:dataString} });
2. Gunakan Tugasan Pembolehubah Terus
Dalam PHP, akses data JSON terus daripada $_POST tanpa menggunakan json_decode:
if(isset($_POST['myData'])){ $obj = $_POST['myData']; //some php operation }
Reason
Sebab kod asal tidak berfungsi adalah kerana pengepala contentType telah ditetapkan kepada application/json. Ini menunjukkan kepada PHP bahawa data yang dihantar adalah dalam format JSON, yang tidak berlaku. Data sebenarnya adalah pertanyaan POST biasa yang mengandungi rentetan JSON.
Dengan mengalih keluar pengepala ContentType, anda menghantar data sebagai pertanyaan POST biasa dan membenarkan PHP mengendalikan penukaran rentetan secara automatik.
Atas ialah kandungan terperinci Bagaimana untuk Menyahkod Data JSON dari Ajax dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!