Cara menghantar pembolehubah dan data PHP ke JavaScript
P粉004287665
2023-08-21 12:31:08
<p>Saya mempunyai pembolehubah dalam PHP dan saya perlu menggunakan nilainya dalam kod JavaScript saya. Bagaimanakah saya boleh menghantar pembolehubah saya dari PHP ke dalam JavaScript? </p>
<p>Saya mempunyai kod berikut: </p>
<pre class="brush:php;toolbar:false;"><?php
$val = $myService->getValue(); // Buat panggilan API dan pangkalan data
</pra>
<p>Pada halaman yang sama, saya mempunyai kod JavaScript yang perlu menghantar nilai pembolehubah <kod>$val</code>
<pre class="brush:js;toolbar:false;"><script>
myPlugin.start($val); // Saya mencuba ini tetapi ia tidak berjaya
<?php myPlugin.start($val);
myPlugin.start(<?=$val?>); // Ini kadangkala berfungsi, tetapi kadangkala gagal
</skrip>
</pra>
<p><br /></p>
Saya biasanya menggunakan atribut data-* dalam HTML.
Contoh ini menggunakan jQuery, tetapi ia boleh disesuaikan dengan perpustakaan lain atau JavaScript asli.
Anda boleh membaca lebih lanjut tentang sifat set data di sini: https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement.dataset
Sebenarnya terdapat beberapa cara untuk melakukan ini. Sesetengah kaedah memerlukan lebih banyak overhed, dan sesetengahnya dianggap lebih baik daripada yang lain.
Tanpa susunan tertentu:
Dalam artikel ini, kami akan memperincikan kebaikan dan keburukan setiap kaedah di atas, dan cara melaksanakannya.
1 Gunakan AJAX untuk mendapatkan data yang diperlukan daripada pelayan
Pendekatan ini dianggap terbaik kerana skrip bahagian pelayan dan bahagian klien dipisahkan sepenuhnya.
Kelebihan
Keburukan
Contoh perlaksanaan
Dengan AJAX, anda memerlukan dua halaman, satu di mana PHP menjana output, dan satu lagi di mana JavaScript mendapat output itu:
dapatkan-data.php
index.php (atau nama halaman sebenar)
Gabungan dua fail di atas akan muncul apabila pemuatan fail selesai
42
.Banyak bacaan
2 Gema data ke lokasi tertentu pada halaman dan gunakan JavaScript untuk mendapatkan maklumat daripada DOM
Pendekatan ini kurang diingini berbanding AJAX, tetapi ia masih mempunyai kelebihannya. Dari satu segi, ia masih relatif dipisahkan antara PHP dan JavaScript, kerana PHP tidak digunakan secara langsung dalam JavaScript.
Kelebihan
Keburukan
<input type=hidden>
来存储信息,因为从inputNode.value
中获取信息更容易,但这样做意味着你的HTML中有一个无意义的元素。HTML有<meta>
元素用于文档的数据,HTML 5引入了data-*
untuk data berkaitan JavaScript pada elemen tertentu.Contoh perlaksanaan
Dalam kes ini, anda perlu mencipta beberapa jenis elemen yang tidak kelihatan kepada pengguna tetapi boleh dilihat oleh JavaScript.
index.php
3. Gema data terus ke dalam JavaScript
Ini mungkin kaedah paling mudah untuk difahami.
Kelebihan