Rumah > pembangunan bahagian belakang > tutorial php > Mengapa menyatakan `contentType: \'application/json; charset=utf-8\'` tidak diperlukan apabila menghantar data JSON ke PHP menggunakan Ajax?

Mengapa menyatakan `contentType: \'application/json; charset=utf-8\'` tidak diperlukan apabila menghantar data JSON ke PHP menggunakan Ajax?

DDD
Lepaskan: 2024-11-02 02:40:30
asal
400 orang telah melayarinya

Why is specifying `contentType:

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

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

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!

sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan