Rumah > Soal Jawab > teks badan
P粉1119279622023-08-23 15:50:54
Untuk menentukan sebab kod PHP tidak berfungsi dalam kod JavaScript, kita perlu memahami apakah bahasa sebelah pelanggan dan sebelah pelayan, dan cara ia berfungsi.
Bahasa sisi pelayan (seperti PHP, dll.) : Mereka mendapatkan semula rekod daripada pangkalan data, mengekalkan keadaan pada sambungan tanpa negara HTTP dan melakukan banyak operasi yang memerlukan keselamatan. Mereka berada di pelayan dan kod sumber program ini tidak pernah didedahkan kepada pengguna.
Jadi, anda boleh melihat dengan mudah bahawa bahasa sebelah pelayan mengendalikan permintaan HTTP dan memprosesnya, seperti yang dikatakan @deceze,PHP melaksanakan pada pelayan dan mengeluarkan beberapa HTML, dan mungkin kod JavaScript, dan ini dihantar sebagai respons kepada pihak Klien , di mana HTML ditafsirkan dan JavaScript dilaksanakan.
Sebaliknya,bahasa sebelah pelanggan (seperti JavaScript) berada dalam dan berjalan dalam penyemak imbas. Skrip sebelah pelangganbiasanya merujuk kepada program komputer di web yang dilaksanakan oleh pelayar web pengguna dan bukannya sebelah pelayan.
JavaScript kelihatan kepada pengguna dan boleh diubah suai dengan mudah, jadi untuk isu keselamatan kami tidak boleh bergantung pada JavaScript.Jadi apabila anda membuat permintaan
HTTP pada pelayan, pelayan terlebih dahulu membaca fail PHP dengan teliti untuk melihat sama ada terdapat tugas yang perlu dilakukan, dan menghantar respons kepada klien. Sekali lagi, seperti yang dikatakan @deceze, *sebaik sahaja PHP selesai mengeluarkan respons, skrip akan tamat dan tiada apa yang akan berlaku pada pelayan sehingga permintaan HTTP baharu diterima. *
Jadi, apakah yang perlu saya lakukan jika saya perlu menghubungi PHP? Ia bergantung pada cara anda perlu melakukannya: dengan memuat semula halaman atau menggunakan panggilan AJAX.
Bahan bacaan yang bagus:
P粉1037395662023-08-23 09:17:40
Kod anda dibahagikan kepada dua bahagian yang bebas sepenuhnya, sebelah pelayan dan sebelah pelanggan.
|
---------->
HTTP请求
|
+--------------+ | +--------------+
| | | | |
| 浏览器 | | | 网络服务器 |
| (JavaScript) | | | (PHP等) |
| | | | |
+--------------+ | +--------------+
|
客户端 | 服务器端
|
<----------
HTML, CSS, JavaScript
|
Dua bahagian ini berkomunikasi melalui permintaan dan respons HTTP. PHP melaksanakan pada pelayan dan mengeluarkan beberapa kod HTML dan mungkin JavaScript, yang dihantar sebagai respons kepada klien, di mana ia mentafsir HTML dan melaksanakan JavaScript. Setelah PHP selesai mengeluarkan respons, skrip tamat dan tiada apa yang berlaku pada pelayan sehingga permintaan HTTP baharu masuk.
Proses pelaksanaan kod sampel adalah seperti berikut:
<script type="text/javascript"> var foo = 'bar'; <?php file_put_contents('foo.txt', ' + foo + '); ?> var baz = <?php echo 42; ?>; alert(baz); </script>
Dalam langkah pertama, PHP melaksanakan semua kod antara <?php ?>
teg. Keputusan adalah seperti berikut:
<script type="text/javascript"> var foo = 'bar'; var baz = 42; alert(baz); </script>
file_put_contents
调用没有产生任何结果,它只是将" + foo + "写入文件中。而<?php echo 42; ?>
Hasil panggilan adalah untuk mengeluarkan "42", yang kini berada di tempat kod asal.
Kod HTML/JavaScript yang terhasil kini dihantar kepada pelanggan, di mana ia dinilai. alert
调用起作用,而foo
Pembolehubah tidak digunakan di mana-mana.
Semua kod PHP dilaksanakan pada pelayan sebelum pelanggan mula melaksanakan sebarang JavaScript. Tiada kod PHP yang tinggal dalam respons untuk berinteraksi dengan JavaScript.
Untuk memanggil beberapa kod PHP, pelanggan mesti menghantar permintaan HTTP baharu kepada pelayan. Ini boleh dicapai dengan salah satu daripada tiga cara yang mungkin:
Berikut ialah soalan yang menggariskan kaedah ini dengan lebih terperinci
Anda juga boleh menggunakan JavaScript untuk menyebabkan penyemak imbas membuka halaman baharu menggunakan window.location
atau menyerahkan borang, meniru kemungkinan 1 dan 2.