Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Menghantar Data JSON dari JavaScript ke PHP?

Bagaimana untuk Menghantar Data JSON dari JavaScript ke PHP?

Linda Hamilton
Linda Hamiltonasal
2024-11-13 07:31:021022semak imbas

How to Send JSON Data from JavaScript to PHP?

Menghantar Data JSON daripada JavaScript ke PHP

Memindahkan data JSON daripada JavaScript pada penyemak imbas ke pelayan PHP untuk penghuraian boleh dicapai melalui beberapa kaedah.

Kaedah A: Menggunakan Pengepala aplikasi/json

  1. Dalam JavaScript, tukar objek kepada rentetan JSON menggunakan JSON.stringify().
  2. Hantar rentetan JSON ke pelayan menggunakan XMLHttpRequest dengan pengepala aplikasi/json:
request.setRequestHeader("Content-type", "application/json");
request.send(str_json);
  1. Pada pelayan PHP, baca data POST mentah menggunakan file_get_contents('php ://input') untuk mendapatkan rentetan JSON.

Kaedah B: Menggunakan application/x-www-form-urlencoded Header

  1. Tukar objek JSON kepada rentetan POST standard menggunakan JSON.stringify() dan format json_string=....
  2. Hantar rentetan POST ke pelayan menggunakan XMLHttpRequest dengan application/x-www-form-urlencoded pengepala.
  3. Dalam PHP, akses rentetan JSON daripada tatasusunan $_POST['json_string']. Gunakan json_decode() untuk menghuraikan rentetan JSON yang diambil.

Pitfall:

Percubaan untuk menghantar rentetan JSON dengan application/x-www-form- pengepala urlencoded dan kemudian mengaksesnya melalui $_POST akan menghasilkan tatasusunan kosong, kerana PHP menjangkakan data dalam yval=xval& format. Oleh itu, gunakan php://input untuk mengakses data POST mentah apabila menggunakan pengepala aplikasi/json.

Sumber Tambahan:

  • [Cara untuk mengakses POST data dalam PHP](https://www.php.net/manual/en/features.http-post-vars.php)
  • [RFC 4627: Aplikasi/Jenis Media json untuk JSON](http ://www.ietf.org/rfc/rfc4627.txt)

Atas ialah kandungan terperinci Bagaimana untuk Menghantar Data JSON dari JavaScript ke PHP?. 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