varfoo='bar';varbaz=;alert(baz );Mengapa ini tidak menulis "bar" pada fail teks saya, sebaliknya memberi amaran kepada "42"?"> Membandingkan pengaturcaraan sisi klien dan sisi pelayan: Apakah yang membezakannya?-Soal Jawab Rangkaian PHP Cina
Membandingkan pengaturcaraan sisi klien dan sisi pelayan: Apakah yang membezakannya?
P粉381463780
P粉381463780 2023-10-19 15:03:07
0
2
469

Saya ada kod ini:

Mengapa ini tidak menulis "bar" pada fail teks saya sebaliknya memberi amaran kepada "42"?


Nota: Semakan awal soalan ini secara eksplisit menangani PHP pada pelayan dan JavaScript pada klien. Apabila satu bahasa berjalan pada klien dan bahasa lain pada pelayan (walaupun bahasa yang sama), sifat masalah dan penyelesaian adalah sama untuksebarang bahasa. Pertimbangkan ini apabila anda melihat jawapan yang bercakap tentang bahasa tertentu.

P粉381463780
P粉381463780

membalas semua (2)
P粉757640504

Untuk menentukan sebab kodPHPtidak berfungsi dalam kodJavaScript, kita perlu memahami bahasasebelah pelanggandansebelah pelayan dan cara ia berfungsi.

Bahasa sisi pelayan (PHP, dll.): Mereka mendapatkan semula rekod daripada pangkalan data, menyambungmelaluitanpa negaraHTTP, dan melakukan banyak operasi yang memerlukan keselamatan. Mereka berada di pelayan dan program ini tidak pernah mendedahkan kod sumber mereka kepada pengguna.

Jadi, anda boleh melihat dengan mudah bahawa bahasa sebelah pelayan mengendalikan permintaan HTTP dan memprosesnya, dan, seperti yang dikatakan @deceze,PHP melaksanakan pada pelayan dan mengeluarkan beberapa kod HTML dan mungkin JavaScript, yang dihantar kepada klien sebagai Respons , yang mentafsir HTML dan melaksanakan JavaScript.

Sebaliknya,bahasa sebelah pelanggan (seperti JavaScript)ada dan dijalankan dalam penyemak imbas.Skrip sebelah pelangganbiasanya merujuk kepada kelas program komputer pada rangkaian yang dilaksanakan sebelah klien oleh pelayar web pengguna, bukannyasebelah pelayan. p>

JavaScript kelihatan kepada pengguna dan boleh diubah suai dengan mudah, jadi untuk keselamatan kami tidak boleh bergantung pada JavaScript.

Jadi apabila anda membuat permintaanHTTPkepada pelayan, pelayan terlebih dahulu membaca fail PHP dengan teliti untuk melihat sama ada terdapat sebarang tugas yang perlu dilakukan, dan kemudian menghantar respons kepada klien. Sekali lagi, seperti yang dikatakan @deceze, *sebaik sahaja PHP selesai mengeluarkan respons, skrip tamat dan tiada apa yang berlaku pada pelayan sehingga permintaanHTTPbaharu datang. *

Jadi sekarang bagaimana jika saya perlu menghubungi PHP? Ia bergantung pada cara anda perlu melakukan ini: dengan memuat semula halaman atau menggunakan panggilan AJAX.

  1. Anda boleh melakukan ini dengan memuatkan semula halaman dan menghantar permintaanHTTP
  2. Anda boleh menggunakan JavaScript untuk membuat panggilan AJAX - ini tidak memerlukan muat semula halaman

Bacaan yang bagus:

  1. Wikipedia: Skrip Sisi Pelayan
  2. Wikipedia: Skrip Pelanggan
  3. Madara Uchiha: Perbezaan antara pengaturcaraan sisi klien dan sisi pelayan
    P粉218361972

    Kod anda dibahagikan kepada dua bahagian bebas sepenuhnya,sebelah pelayandansebelah pelanggan.

    | ----------> HTTP request | +--------------+ | +--------------+ | | | | | | browser | | | web server | | (JavaScript) | | | (PHP etc.) | | | | | | +--------------+ | +--------------+ | client side | server side | <---------- HTML, CSS, JavaScript |

    Kedua-dua pihak 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 HTML ditafsirkan dan JavaScript dilaksanakan. Setelah PHP selesai mengeluarkan respons, skrip tamat dan tiada apa yang berlaku pada pelayan sehingga permintaan HTTP baharu datang.

    Kod contoh dilaksanakan seperti berikut:

    Langkah 1, PHP melaksanakan semua kod antara teg. Hasilnya begini:

    file_put_contents调用没有产生任何结果,它只是将“ + foo + ”写入文件。 Panggilan menghasilkan output "42", yang kini terletak di tempat asal kod itu.

    Kod HTML/JavaScript yang dijana kini dihantar kepada pelanggan dan dinilai di sana.alert调用有效,而fooPembolehubah tidak digunakan di mana-mana.

    Semua kod PHP dilaksanakan pada pelayan sebelum pelanggan mula melaksanakan sebarang JavaScript. Tiada kod PHP yang tinggal dalam respons yang JavaScript boleh berinteraksi.

    Untuk memanggil kod PHP tertentu, pelanggan mesti menghantar permintaan HTTP baharu kepada pelayan. Ini boleh dicapai menggunakan salah satu daripada tiga kaedah yang mungkin:

    1. Pautan yang menyebabkan penyemak imbas memuatkan halaman baharu.
    2. Penyerahan borang, serahkan data ke pelayan dan muatkan halaman baharu.
    3. Permintaan
    4. AJAX, iaitu teknologi Javascript yang digunakan untuk menjana permintaan HTTP biasa kepada pelayan (ditunjukkan dalam 1. dan 2.) tanpa meninggalkan halaman semasa.

    Berikut ialah soalan yang menggariskan kaedah ini dengan lebih terperinci

    Anda juga boleh menggunakan JavaScript untuk memberitahu pelayar menggunakanwindow.locationuntuk membuka halaman baharu atau menyerahkan borang, meniru kemungkinan 1. dan 2.

      Muat turun terkini
      Lagi>
      kesan web
      Kod sumber laman web
      Bahan laman web
      Templat hujung hadapan
      Tentang kita Penafian Sitemap
      Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!