Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah php menerima tatasusunan yang dikembalikan oleh js

Bagaimanakah php menerima tatasusunan yang dikembalikan oleh js

PHPz
PHPzasal
2023-04-20 13:48:15932semak imbas

Dalam pembangunan web, JavaScript bahagian hadapan dan PHP bahagian belakang ialah teknologi yang sering digunakan bersama-sama Cara menghantar data yang diproses dalam skrip bahagian hadapan kepada program PHP bahagian belakang untuk pemprosesan selanjutnya adalah perkara biasa masalah. Artikel ini akan memperkenalkan cara menggunakan PHP untuk menerima data tatasusunan yang dihantar daripada JavaScript.

1. Kod JS bahagian hadapan melaksanakan pemindahan tatasusunan

Untuk menghantar tatasusunan yang diproses oleh JS kepada program PHP bahagian belakang, anda perlu menukar data tatasusunan menjadi rentetan dalam JS , dan kemudian mulakan rentetan Pas sebagai parameter kepada PHP semasa permintaan HTTP.

Berikut ialah contoh kod JS ringkas yang mengisytiharkan tatasusunan bernama "data" dan menukarkannya kepada rentetan menggunakan kaedah JSON.stringify():

var data = [1,2,3,4,5];
var jsonString = JSON.stringify(data);

Rentetan yang ditukar boleh dihantar kepada PHP sebagai parameter apabila membuat permintaan HTTP. Sebagai contoh, apabila menggunakan kaedah ajax() dalam pustaka jQuery untuk memulakan permintaan POST, anda boleh menghantar data kepada kaedah sebagai nilai atribut "data":

$.ajax({
  type: "POST",
  url: "process.php",
  data: {data: jsonString},
  success: function(response){
    console.log(response);
  }
});

Di sini, URL bagi Permintaan POST ialah "proses. php", data dihantar ke program PHP melalui atribut "data". Jika pemulangan berjaya, maklumat respons akan dikeluarkan dalam fungsi panggil balik.

2. Kod PHP bahagian belakang menghuraikan data tatasusunan yang diserahkan

Dalam PHP, terdapat banyak cara untuk menerima data tatasusunan yang dihantar daripada JavaScript. Berikut ialah dua kaedah yang biasa digunakan:

  1. Gunakan pembolehubah super $_POST untuk menerima data

Dalam PHP, anda boleh menggunakan pembolehubah super $_POST untuk mendapatkan data yang diserahkan . Sebagai contoh, jika data dihantar ke program PHP sebagai nilai atribut "data" dalam kod JS, pernyataan berikut boleh digunakan dalam kod PHP untuk mendapatkan data:

$data = $_POST["data"];

Disebabkan oleh penggunaan kaedah JSON.stringify( dalam JS ) menukar tatasusunan kepada rentetan, jadi anda juga perlu menggunakan kaedah json_decode() untuk menukarnya kembali kepada tatasusunan dalam PHP. Sebagai contoh, anda boleh menggunakan pernyataan berikut untuk memulihkan rentetan kepada tatasusunan:

$dataArray = json_decode($data,true);

Di sini, menetapkan parameter kedua kepada benar bermakna menukar tatasusunan kepada tatasusunan bersekutu.

  1. Gunakan data permintaan HTTP secara langsung untuk menerima tatasusunan

Dalam PHP, anda boleh menerima terus data permintaan Pos melalui aliran input (stdin). Sebagai contoh, kod berikut boleh digunakan untuk mendapatkan data tatasusunan yang dihantar daripada JavaScript:

$postData = file_get_contents('php://input');
$dataArray = json_decode($postData,true);

Di sini, data dalam aliran php://input dibaca melalui kaedah file_get_contents() dan data ditukar menggunakan kaedah json_decode() ke dalam tatasusunan. Begitu juga, menetapkan parameter kedua kepada benar menukar tatasusunan kepada tatasusunan bersekutu.

3. Contoh kod PHP lengkap

Berikut ialah contoh kod PHP lengkap untuk menerima data tatasusunan yang dihantar daripada JavaScript dan memprosesnya. Mula-mula, baca data dalam aliran php://input melalui kaedah file_get_contents() dan tukar data kepada tatasusunan menggunakan kaedah json_decode(). Selepas pemprosesan, hasil pemprosesan boleh dikembalikan kepada program JS sebagai respons.

<?php
header("Content-Type: application/json; charset=UTF-8");
$postData = file_get_contents(&#39;php://input&#39;);
$arrayData = json_decode($postData,true);
$sum = 0;
foreach($arrayData as $value){
    $sum += $value;
}
$response = array("success" => true, "result" => $sum);
echo json_encode($response);
?>

4. Ringkasan

Dalam pembangunan web, JavaScript dan PHP ialah dua teknologi penting. Untuk menghantar data daripada JavaScript bahagian hadapan kepada program PHP bahagian belakang untuk diproses, tatasusunan asal perlu ditukar kepada format rentetan dan diluluskan sebagai parameter kepada program PHP. Program PHP boleh menerima data tatasusunan dari bahagian hadapan melalui pembolehubah super $_POST dan aliran input, dan boleh menggunakan kaedah json_decode() untuk menukar rentetan kembali kepada tatasusunan. Selepas memproses data, anda boleh menggunakan kaedah json_encode() untuk mengembalikan hasil pemprosesan kepada program bahagian hadapan sebagai data dalam format JSON.

Atas ialah kandungan terperinci Bagaimanakah php menerima tatasusunan yang dikembalikan oleh js. 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