Rumah > Artikel > pembangunan bahagian belakang > Mengapa menyatakan `contentType: \"application/json; charset=utf-8\"` tidak diperlukan apabila menghantar data JSON ke PHP menggunakan Ajax?
Menghantar Data JSON ke PHP Menggunakan Ajax
Dalam usaha untuk memindahkan data berformat JSON ke PHP untuk diproses, pembangun mungkin menghadapi halangan. Satu cabaran sedemikian melibatkan penghantaran data JSON melalui Ajax ke skrip PHP.
Menyelesaikan Masalah Gagal Penghantaran JSON Ajax
Untuk menyelesaikan isu ini, semak coretan kod berikut:
<code class="javascript">$.ajax({ type: "POST", dataType: "json", url: "add_cart.php", data: {myData: dataString}, // Remove this line: contentType: "application/json; charset=utf-8", success: function(data) { alert('Items added'); }, error: function(e) { console.log(e.message); } });</code>
Pengalihan keluar baris contentType: "application/json; charset=utf-8" adalah penting. Apabila menghantar data JSON ke PHP menggunakan Ajax, adalah tidak perlu untuk menentukan jenis kandungan sebagai JSON. Sebaliknya, PHP akan menghuraikan data yang dihantar secara automatik sebagai rentetan JSON.
Pendekatan Ringkas
Untuk memudahkan lagi proses, hapuskan penggunaan JSON.stringify dan json_decode. Hanya hantar objek data terus ke permintaan Ajax:
<code class="javascript">data: {myData: postData},</code>
Dalam PHP, akses data JSON melalui $obj = $_POST['myData'];.
Atas ialah kandungan terperinci Mengapa menyatakan `contentType: \"application/json; charset=utf-8\"` tidak diperlukan apabila menghantar data JSON ke PHP menggunakan Ajax?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!