Rumah pembangunan bahagian belakang masalah PHP Bagaimana untuk menerima parameter tatasusunan yang diserahkan oleh Ajax dalam PHP

Bagaimana untuk menerima parameter tatasusunan yang diserahkan oleh Ajax dalam PHP

Apr 26, 2023 pm 02:22 PM

Apabila menulis aplikasi web, anda selalunya perlu menggunakan Ajax untuk menyerahkan borang atau menggunakan jenis data yang kompleks seperti tatasusunan untuk pemprosesan. Dalam PHP, adalah mudah untuk menerima parameter jenis data asas, tetapi menerima parameter jenis tatasusunan memerlukan beberapa pemprosesan khas. Artikel seterusnya akan membawa anda ke perbincangan mendalam tentang cara PHP menerima parameter tatasusunan yang dikemukakan oleh Ajax.

1. Beberapa cara untuk menyerahkan tatasusunan dengan Ajax

  1. Gunakan siri

Apabila pelanggan menggunakan alatan seperti jQuery untuk membuat permintaan Ajax, anda boleh Tatasusunan bersiri dan diserahkan. Contohnya, contoh berikut:

var data = {
    name: 'John',
    age: 25,
    hobbies: ['swimming', 'reading', 'coding']
};
$.ajax({
    type: 'POST',
    url: 'test.php',
    data: {myData: JSON.stringify(data)},
    success: function(res) {
        console.log(res);
    }
});
Salin selepas log masuk

Di bahagian pelayan, anda boleh menggunakan fungsi json_decode() untuk memulihkan rentetan JSON yang diterima ke dalam tatasusunan, seperti berikut:

$data = json_decode($_POST['myData'], true);
$name = $data['name'];
$age = $data['age'];
$hobbies = $data['hobbies'];
Salin selepas log masuk

Kaedah ini mudah Secara langsung, tetapi sila ambil perhatian: jumlah data yang diserahkan tidak boleh terlalu besar, jika tidak, ia akan menjejaskan prestasi.

  1. Gunakan FormData

Menggunakan objek FormData boleh mencapai penyerahan data borang yang lebih fleksibel. Contohnya, contoh berikut:

var data = {
    name: 'John',
    age: 25,
    hobbies: ['swimming', 'reading', 'coding']
};
var formData = new FormData();
formData.append('name', data.name);
formData.append('age', data.age);
$.each(data.hobbies, function(index, item) {
    formData.append('hobbies[]', item);
});
$.ajax({
    type: 'POST',
    url: 'test.php',
    data: formData,
    contentType: false,
    processData: false,
    success: function(res) {
        console.log(res);
    }
});
Salin selepas log masuk

Di bahagian pelayan, anda boleh menggunakan $_POST dan $_FILES untuk menerima data yang diserahkan oleh FormData, seperti berikut:

$name = $_POST['name'];
$age = $_POST['age'];
$hobbies = $_POST['hobbies'];
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Ia harus diperhatikan bahawa: contentType dan Parameter processData mesti ditetapkan kepada palsu, jika tidak, penyerahan akan gagal.

  1. Lepasi tatasusunan terus

Jika anda menggunakan alatan seperti jQuery untuk penyerahan Ajax, anda boleh menghantar tatasusunan terus ke parameter data. Contohnya, contoh berikut:

var data = {
    name: 'John',
    age: 25,
    hobbies: ['swimming', 'reading', 'coding']
};
$.ajax({
    type: 'POST',
    url: 'test.php',
    data: data,
    success: function(res) {
        console.log(res);
    }
});
Salin selepas log masuk

Di bahagian pelayan, anda boleh menggunakan $_POST untuk menerima parameter jenis tatasusunan, seperti berikut:

$name = $_POST['name'];
$age = $_POST['age'];
$hobbies = $_POST['hobbies'];
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Kaedah ini mudah dan cekap , tetapi tidak cukup fleksibel.

2. Terima parameter tatasusunan

Tidak kira kaedah yang anda gunakan untuk menyerahkan parameter tatasusunan, pelayan memerlukan pemprosesan khas. PHP menyediakan pelbagai kaedah untuk menerima parameter tatasusunan.

  1. Gunakan $_POST

Jika anda menggunakan siri atau secara terus menghantar tatasusunan untuk penyerahan Ajax, anda boleh menggunakan $_POST untuk menerima parameter tatasusunan, seperti berikut:

$name = $_POST['name'];
$age = $_POST['age'];
$hobbies = $_POST['hobbies'];
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Perlu diambil perhatian bahawa PHP hanya akan menerima 1000 elemen tatasusunan pertama secara lalai sebagai tambahan, jika tatasusunan berbilang dimensi diserahkan, ia perlu diproses dalam format JSON.

  1. Gunakan file_get_contents

Jika jumlah data yang diserahkan agak besar, anda boleh menggunakan fungsi file_get_contents untuk menerima parameter tatasusunan, seperti berikut:

$data = file_get_contents('php://input');
$jsonData = json_decode($data, true);
$name = $jsonData['name'];
$age = $jsonData['age'];
$hobbies = $jsonData['hobbies'];
Salin selepas log masuk

Ini Kaedah boleh menerima sejumlah besar data dan lebih fleksibel.

  1. Gunakan php://input

Gunakan php://input untuk turut menerima parameter tatasusunan, seperti berikut:

$data = file_get_contents('php://input');
parse_str($data, $arrayData);
$name = $arrayData['name'];
$age = $jsonData['age'];
$hobbies = $arrayData['hobbies'];
Salin selepas log masuk

Perkara untuk nota Ya: Data yang diterima dengan cara ini adalah daripada jenis rentetan dan memerlukan beberapa jenis penukaran.

3. Ringkasan

Apabila menggunakan Ajax untuk menyerahkan parameter tatasusunan, anda perlu memberi perhatian kepada isu seperti kaedah penghantaran, kaedah penerimaan dan jumlah data. Jika jumlah data adalah kecil, anda boleh menggunakan bersiri atau FormData untuk menyerahkannya jika jumlah data adalah besar, anda boleh menggunakan fungsi seperti file_get_contents dan parse_str untuk menerimanya. Melalui pengenalan artikel ini, saya percaya pembaca telah pun memahami cara PHP menerima parameter tatasusunan yang dikemukakan oleh Ajax. Tetapi perlu diingatkan bahawa beberapa penapisan dan pengesahan perlu dilakukan dalam kod untuk meningkatkan keselamatan data.

Atas ialah kandungan terperinci Bagaimana untuk menerima parameter tatasusunan yang diserahkan oleh Ajax dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

PHP 8 JIT (Just-in-Time) Penyusunan: Bagaimana ia meningkatkan prestasi. PHP 8 JIT (Just-in-Time) Penyusunan: Bagaimana ia meningkatkan prestasi. Mar 25, 2025 am 10:37 AM

Kompilasi JIT Php 8 meningkatkan prestasi dengan menyusun kod yang sering dilaksanakan ke dalam kod mesin, memberi manfaat kepada aplikasi dengan pengiraan berat dan mengurangkan masa pelaksanaan.

OWASP Top 10 PHP: Huraikan dan mengurangkan kelemahan umum. OWASP Top 10 PHP: Huraikan dan mengurangkan kelemahan umum. Mar 26, 2025 pm 04:13 PM

Artikel ini membincangkan kelemahan OWASP 10 dalam strategi PHP dan mitigasi. Isu -isu utama termasuk suntikan, pengesahan yang rosak, dan XSS, dengan alat yang disyorkan untuk memantau dan mendapatkan aplikasi PHP.

PHP Secure File Muat naik: Mencegah kelemahan berkaitan fail. PHP Secure File Muat naik: Mencegah kelemahan berkaitan fail. Mar 26, 2025 pm 04:18 PM

Artikel ini membincangkan mendapatkan muat naik fail PHP untuk mengelakkan kelemahan seperti suntikan kod. Ia memberi tumpuan kepada pengesahan jenis fail, penyimpanan selamat, dan pengendalian ralat untuk meningkatkan keselamatan aplikasi.

Penyulitan PHP: Penyulitan simetri vs asimetrik. Penyulitan PHP: Penyulitan simetri vs asimetrik. Mar 25, 2025 pm 03:12 PM

Artikel ini membincangkan penyulitan simetri dan asimetrik dalam PHP, membandingkan kesesuaian, prestasi, dan perbezaan keselamatan mereka. Penyulitan simetri lebih cepat dan sesuai untuk data pukal, manakala asimetrik digunakan untuk pertukaran utama yang selamat.

Pengesahan PHP & amp; Kebenaran: Pelaksanaan selamat. Pengesahan PHP & amp; Kebenaran: Pelaksanaan selamat. Mar 25, 2025 pm 03:06 PM

Artikel ini membincangkan pelaksanaan pengesahan dan kebenaran yang mantap dalam PHP untuk mencegah akses yang tidak dibenarkan, memperincikan amalan terbaik dan mengesyorkan alat peningkatan keselamatan.

Bagaimana anda mengambil data dari pangkalan data menggunakan PHP? Bagaimana anda mengambil data dari pangkalan data menggunakan PHP? Mar 20, 2025 pm 04:57 PM

Artikel membincangkan mendapatkan data dari pangkalan data menggunakan PHP, meliputi langkah, langkah keselamatan, teknik pengoptimuman, dan kesilapan umum dengan penyelesaian.

PHP CSRF Perlindungan: Bagaimana untuk mencegah serangan CSRF. PHP CSRF Perlindungan: Bagaimana untuk mencegah serangan CSRF. Mar 25, 2025 pm 03:05 PM

Artikel ini membincangkan strategi untuk mencegah serangan CSRF di PHP, termasuk menggunakan token CSRF, kuki tapak yang sama, dan pengurusan sesi yang betul.

Apakah tujuan mysqli_query () dan mysqli_fetch_assoc ()? Apakah tujuan mysqli_query () dan mysqli_fetch_assoc ()? Mar 20, 2025 pm 04:55 PM

Artikel ini membincangkan fungsi mysqli_query () dan mysqli_fetch_assoc () dalam PHP untuk interaksi pangkalan data MySQL. Ia menerangkan peranan, perbezaan, dan memberikan contoh praktikal penggunaannya. Hujah utama memberi tumpuan kepada manfaat usin

See all articles