Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk menyarangkan skrip php dalam javascript

Bagaimana untuk menyarangkan skrip php dalam javascript

WBOY
WBOYasal
2023-05-12 13:43:071782semak imbas

JavaScript ialah bahasa pengaturcaraan yang digunakan secara meluas, manakala PHP ialah bahasa skrip yang digunakan di bahagian pelayan. Dalam proses pembangunan web, kita selalunya perlu menggabungkan kedua-dua bahasa ini. Artikel ini akan memperkenalkan anda secara terperinci cara membenamkan skrip PHP dalam JavaScript dan perkara yang perlu anda perhatikan.

1. Mengapakah kita perlu membenamkan skrip PHP dalam JavaScript

Dalam pembangunan web, kita sering perlu mengemas kini kandungan halaman secara dinamik berdasarkan tingkah laku pengguna, seperti real- pengiraan masa berdasarkan input data oleh pengguna, atau memaparkan kandungan berbeza secara dinamik berdasarkan pilihan yang dipilih oleh pengguna. Fungsi ini biasanya memerlukan penggunaan JavaScript.

Di bahagian pelayan, kami sering menggunakan PHP untuk mengendalikan penjanaan dan output data dinamik. Sebagai contoh, selepas pengguna menyerahkan data borang, kami perlu menghantar data ke pelayan, memprosesnya menggunakan PHP, dan akhirnya mengembalikan hasil yang diproses kepada pengguna. Dengan cara ini, kita perlu menyusun skrip PHP dalam JavaScript untuk mencapai tujuan interaksi data antara pelayan dan klien.

2. Gunakan teknologi ajax untuk mencapai sarang

Cara paling biasa untuk menyusun skrip PHP dalam JavaScript ialah menggunakan teknologi Ajax.

Ajax ialah satu set teknologi yang digunakan untuk mencipta aplikasi web tak segerak, yang boleh menghantar permintaan tak segerak dan mengemas kini bahagian halaman tanpa memuat semula keseluruhan halaman. Biasanya, kami menulis kod Ajax dalam JavaScript halaman, menggunakan JavaScript untuk menghantar permintaan ke pelayan, pelayan akan mengembalikan data yang diproses, dan akhirnya kami menggunakan JavaScript untuk mengemas kini data ke halaman.

Apabila menggunakan teknologi Ajax, anda perlu mencipta objek XMLHttpRequest dahulu, dan kemudian menggunakan objek ini untuk menghantar permintaan kepada pelayan. Berikut ialah kod Ajax biasa:

var xhr = new XMLHttpRequest();
xhr.open('POST', 'example.php', true);
xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
xhr.onload = function () {
  //处理返回的数据
};
xhr.send('data=value');

Dalam kod ini, kami mula-mula mencipta objek XMLHttpRequest dan menentukan kaedah permintaan (POST), URL sasaran dan sama ada ia tidak segerak melalui kaedah terbuka. Kemudian, kami menetapkan pengepala permintaan melalui kaedah setRequestHeader untuk memberitahu pelayan bahawa jenis data yang diminta ialah application/x-www-form-urlencoded. Seterusnya, kami memproses data yang dikembalikan daripada pelayan dalam kaedah onload. Akhir sekali, kami menggunakan kaedah hantar untuk menghantar permintaan kepada pelayan dan menetapkan data data kepada nilai.

Dalam skrip PHP, kita boleh menggunakan tatasusunan $_POST untuk mendapatkan data yang diserahkan oleh pelanggan. Berikut ialah contoh PHP mudah:

<?php
$data = $_POST['data'];
$result = doSomethingWithData($data);
echo $result;
?>

Dalam contoh ini, kami mula-mula menggunakan tatasusunan $_POST untuk mendapatkan data yang diserahkan oleh klien, dan kemudian menggunakan fungsi doSomethingWithData untuk memproses data dan mengeluarkan hasilnya.

3. Pengendalian permintaan merentas domain

Apabila menggunakan teknologi Ajax, kita perlu memberi perhatian kepada isu, iaitu pengehadan permintaan merentas domain. Permintaan merentas domain merujuk kepada permintaan yang menghantar permintaan kepada nama domain atau port lain, seperti menghantar permintaan daripada http://example.com ke http://localhost:8080.

Sekatan ke atas permintaan merentas domain dikuatkuasakan oleh penyemak imbas. Secara lalai, penyemak imbas tidak membenarkan permintaan merentas domain dan akan mengeluarkan mesej ralat yang serupa kepada konsol:

Access to XMLHttpRequest at 'http://localhost:8080/example.php' from origin 'http://example.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

Untuk menyelesaikan pengehadan permintaan merentas domain, kami boleh menambah CORS (Perkongsian Sumber Silang Asal ) pada bahagian pelayan ) maklumat pengepala, tambahkan pengepala Access-Control-Allow-Origin pada respons dan tetapkan senarai nama domain yang membenarkan permintaan merentas domain. Dalam PHP, pengepala CORS boleh ditambah dengan:

header('Access-Control-Allow-Origin: http://example.com');

Kod di atas akan membenarkan permintaan silang asal daripada http://example.com.

Selain menambah pengepala CORS, kami juga boleh menggunakan JSONP (JSON dengan Padding) untuk melaksanakan permintaan merentas domain. JSONP ialah teknologi yang menggunakan ciri teg 855348821b2e8f2cc4b633bf98f064df untuk melaksanakan permintaan merentas domain dengan mengembalikan kod JavaScript dalam respons. Apabila menggunakan JSONP, pelayan membungkus respons dalam panggilan fungsi dan mengembalikannya kepada klien. Selepas menerima respons, pelanggan akan melaksanakan kod yang diterima sebagai JavaScript.

Perhatikan bahawa apabila menggunakan JSONP, pastikan anda mengelakkan serangan XSS. Apabila klien melaksanakan kod yang dikembalikan daripada pelayan, pastikan kod tersebut tidak mengandungi kod berniat jahat.

4. Gunakan enjin dan rangka kerja templat

Selain menggunakan teknologi Ajax untuk membenamkan skrip PHP dalam JavaScript, kami juga boleh menggunakan beberapa enjin dan rangka kerja templat untuk melaksanakan interaksi data dengan lebih mudah.

Enjin templat ialah alat untuk menjana HTML. Ia boleh membantu kami menyusun struktur halaman, menghasilkan data dinamik dan menukar templat HTML berkomponen kepada halaman HTML statik. Enjin templat yang biasa digunakan pada masa ini termasuk Misai, Bar Hendal, dsb.

Rangka kerja ialah perpustakaan yang menyediakan rangka kerja pembangunan dan alatan pembangunan yang lengkap. Sebagai contoh, rangka kerja PHP Laravel menyediakan fungsi teras seperti Eloquent ORM, Enjin templat Blade, Routing dan Middlewares, yang sangat memudahkan proses pembangunan aplikasi web.

Apabila menggunakan enjin templat dan rangka kerja, kami hanya perlu memperkenalkan fail perpustakaan yang sepadan ke dalam halaman, dan kami boleh menggunakan API yang disediakan dengan mudah untuk menyelesaikan operasi seperti interaksi data tanpa menulis kod kompleks.

5. Ringkasan

Di atas adalah kaedah membenamkan skrip PHP dalam JavaScript dan perkara yang perlu diberi perhatian. Dalam pembangunan sebenar, kita boleh memilih kaedah yang sesuai berdasarkan keperluan khusus dan pemilihan teknologi. Pada masa hadapan, dengan pembangunan berterusan teknologi Web, kami percaya bahawa kaedah pelaksanaan yang lebih mudah, cekap, selamat dan boleh dipercayai akan muncul.

Atas ialah kandungan terperinci Bagaimana untuk menyarangkan skrip php dalam javascript. 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