Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapa data JSON saya tidak diterima oleh PHP melalui Ajax?

Mengapa data JSON saya tidak diterima oleh PHP melalui Ajax?

Barbara Streisand
Barbara Streisandasal
2024-10-31 00:18:02169semak imbas

Why is my JSON data not being received by PHP via Ajax?

Menghantar Data JSON ke PHP Menggunakan Ajax

Masalah:
Apabila cuba menghantar data JSON ke PHP fail melalui Ajax, data tidak diterima dan tatasusunan $_POST mengandungi nilai kosong.

Penyelesaian:

Untuk menyelesaikan isu ini, parameter contentType dalam Permintaan Ajax harus dialih keluar. Pilihan contentType digunakan apabila menghantar data mentah ke pelayan, tetapi dalam kes ini, data sudah dalam format JSON yang sah. Dengan mengalih keluarnya, pelayan akan mengendalikan data JSON secara automatik dengan betul.

Selain itu, fungsi JSON.stringify dan json_decode tidak diperlukan dalam konteks ini. Sebaliknya, objek postData boleh digunakan sebagai muatan permintaan secara langsung.

Kod Ajax yang dikemas kini:

$.ajax({
  type: "POST",
  dataType: "json",
  url: "add_cart.php",
  data: {myData: postData},
  success: function(data){
    alert('Items added');
  },
  error: function(e){
    console.log(e.message);
  }
});

Kod PHP yang dikemas kini:

if(isset($_POST['myData'])){
  $obj = $_POST['myData'];
  // Some PHP operation
}

Atas ialah kandungan terperinci Mengapa data JSON saya tidak diterima oleh PHP melalui Ajax?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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