Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menghantar array ke js dalam php

Bagaimana untuk menghantar array ke js dalam php

PHPz
PHPzasal
2023-04-25 09:04:09734semak imbas

Dalam pembangunan web, kita selalunya perlu menghantar data dari bahagian belakang (seperti PHP) ke bahagian hadapan (seperti JavaScript). Menggunakan teknologi AJAX, kami boleh mendapatkan data bahagian belakang secara tidak segerak tanpa menyegarkan halaman web Walau bagaimanapun, dalam beberapa kes, kami mahu meneruskan tatasusunan bahagian belakang secara langsung ke bahagian hadapan untuk memudahkan pemprosesan bahagian hadapan. Artikel ini menerangkan cara menghantar tatasusunan kepada JavaScript dalam PHP.

1. Tukar tatasusunan kepada format JSON

Sebelum menghantar tatasusunan kepada JavaScript, kita perlu menukar tatasusunan kepada struktur data yang boleh dikenali dalam JavaScript. Di sini kita boleh menggunakan format JSON (JavaScript Object Notation), yang merupakan format teks untuk pertukaran data dan sintaks untuk mewakili objek dalam JavaScript. PHP mempunyai fungsi json_encode() terbina dalam yang boleh menukar tatasusunan PHP ke dalam format JSON.

Kod contoh:

$data = array('name' => 'John', 'age' => 30, 'city' => 'New York');
$data_json = json_encode($data);
echo $data_json;

Hasil keluaran:

{"name":"John","age":30,"city":"New York"}

2 Dapatkan data JSON di bahagian hadapan

Di bahagian hadapan, kita boleh menggunakan Permintaan AJAX untuk mendapatkan output data JSON oleh PHP, contoh kod:

$.ajax({
    type: "POST",  // 或者 GET
    url: "data.php",  // 后端程序地址
    dataType: "json",  // 返回的数据类型
    success: function(data) {  // 成功回调函数
        console.log(data.name);
        console.log(data.age);
        console.log(data.city);
    }
});

Perlu diambil perhatian bahawa parameter dataType menentukan jenis data yang dikembalikan oleh permintaan, di sini ia ditetapkan kepada json. Oleh itu, jika format JSON yang dikembalikan tidak sah, data tidak akan dihuraikan secara normal.

3. Keluarkan data JSON secara langsung dalam PHP

Selain menukar tatasusunan kepada format JSON dan kemudian mengeluarkannya dalam PHP, kami juga boleh mengeluarkan tatasusunan secara langsung dalam format JSON. Kaedah ini lebih ringkas, tetapi memerlukan penambahan pengepala respons yang sepadan pada permulaan fail PHP.

Kod contoh:

$data = array('name' => 'John', 'age' => 30, 'city' => 'New York');
header('Content-Type: application/json');  // 响应头,指定返回的数据类型为 JSON
echo json_encode($data);

Di bahagian hadapan, fail PHP boleh dipanggil terus melalui AJAX tanpa menghuraikan.

4. Gunakan skrip sebaris untuk menghantar data

Dalam fail PHP, kami juga boleh menggunakan skrip sebaris untuk menghantar data kepada JavaScript. Kaedah ini agak mudah, tetapi sukar untuk dikekalkan dan tidak disyorkan.

Kod sampel:

$data = array('name' => 'John', 'age' => 30, 'city' => 'New York');
echo '<script> var data = ' . json_encode($data) . '; </script>';

Selepas kod di atas menukar tatasusunan ke dalam format JSON, benamkannya terus ke dalam teg skrip, kemudian gunakan data pembolehubah untuk mengakses tatasusunan di hadapan tamat.

5 Gunakan teg input tersembunyi untuk menghantar data

Jika anda perlu menyerahkan tatasusunan dalam PHP bersama-sama apabila borang diserahkan, kami boleh meletakkan tatasusunan ke dalam teg input tersembunyi, dan kemudian Apabila borang diserahkan, ia juga dihantar ke bahagian belakang.

Kod sampel:

$data = array('name' => 'John', 'age' => 30, 'city' => 'New York');
echo '<form action="process.php" method="post">';
foreach ($data as $key => $value) {
    echo '<input type="hidden" name="data[&#39; . $key . &#39;]" value="&#39; . $value . &#39;">';
}
echo '<button type="submit">提交</button>';
echo '</form>';

Tambahkan parameter tatasusunan bernama data pada borang, dan kemudian tambah setiap elemen dalam tatasusunan PHP pada teg input tersembunyi satu demi satu melalui gelung Itu sahaja . Seluruh tatasusunan boleh diperolehi melalui $_POST['data'] pada bahagian belakang.

Di atas ialah beberapa kaedah tentang cara menghantar tatasusunan kepada JavaScript dalam PHP. Kaedah yang berbeza boleh digunakan dalam senario yang berbeza, dan ia perlu dipilih mengikut keperluan khusus dalam aplikasi sebenar.

Atas ialah kandungan terperinci Bagaimana untuk menghantar array ke js dalam 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