Rumah >pembangunan bahagian belakang >tutorial php >Penjelasan terperinci tentang cara melaksanakan skrip PHP tanpa melompat halaman
Dalam pembangunan web, kita selalunya perlu menggunakan skrip PHP untuk melaksanakan fungsi tertentu, seperti pengesahan log masuk pengguna, penyerahan data borang, dsb. Walau bagaimanapun, apabila melaksanakan skrip PHP ini, lompatan halaman selalunya akan berlaku, yang tidak mesra kepada pengalaman pengguna dan juga akan menjejaskan prestasi laman web. Jadi bagaimana saya boleh melaksanakan skrip PHP tanpa melompat ke halaman? Artikel ini akan memperkenalkan anda kepada beberapa cara untuk mencapai matlamat ini.
1. Gunakan teknologi Ajax
Teknologi Ajax boleh menghantar permintaan ke pelayan secara tidak segerak dan mengemas kini kandungan halaman tanpa memuat semula halaman. Oleh itu, teknologi Ajax boleh digunakan untuk melaksanakan skrip PHP tanpa melompat ke halaman. Kaedah operasi khusus adalah seperti berikut:
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
$.ajax({ url: 'test.php', // PHP脚本的URL地址 type: 'post', // 请求方式 data: {name: 'John', age: 18}, // 发送给服务器的数据 success: function(response){ // 成功接收到服务器的响应后执行的代码 alert(response); // 显示服务器返回的数据 } });
Dalam contoh ini, kami menghantar permintaan POST ke skrip PHP bernama test.php dan menghantar dua parameter (nama dan umur) ke pelayan. Jika pelayan berjaya mengendalikan permintaan, ia akan mengembalikan beberapa data, yang boleh kita perolehi dalam fungsi panggil balik Ajax.
2. Gunakan teg iframe
Teg iframe boleh membenamkan halaman HTML yang lain ke dalam iframe adalah untuk mendapatkan hasil pelaksanaan. Kaedah operasi khusus adalah seperti berikut:
<iframe id="php-process" name="php-process" style="display:none;"></iframe>
<form id="php-form" method="post" action="test.php" target="php-process"> <!-- 在这里添加需要传递给PHP脚本的参数 --> <input type="hidden" name="name" value="John" /> <input type="hidden" name="age" value="18" /> </form>
function submitForm(){ document.getElementById("php-form").submit(); // 提交form表单 var iframe = document.getElementById("php-process"); iframe.onload = function(){ // PHP脚本执行完毕后执行的代码 alert(iframe.contentWindow.document.body.innerHTML); // 获取执行结果 } }
Di sini, kami mentakrifkan fungsi submitForm, apabila fungsi dipanggil Apabila iframe dimuatkan, borang akan diserahkan secara automatik dan hasil pelaksanaan akan diperoleh selepas iframe dimuatkan. Perlu diingatkan bahawa atribut paparan iframe mesti ditetapkan kepada tiada, jika tidak, ia akan menjejaskan reka letak halaman.
3. Menggunakan objek XMLHttpRequest
XMLHttpRequest ialah objek JavaScript yang digunakan untuk menghantar data antara penyemak imbas dan pelayan. Anda boleh menggunakan XMLHttpRequest untuk menghantar permintaan kepada pelayan dan mendapatkan hasil pelaksanaan, dan kemudian mengemas kini kandungan halaman tanpa memuat semula halaman. Kaedah operasi khusus adalah seperti berikut:
var xmlhttp; if (window.XMLHttpRequest){ // code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp = new XMLHttpRequest(); } else{ // code for IE6, IE5 xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
xmlhttp.open("POST","test.php",true); // 向test.php发送一个POST请求 xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); // 设置请求头 xmlhttp.send("name=John&age=18"); // 发送请求的数据
Di sini, kami menggunakan permintaan POST dan menghantar dua parameter (nama dan umur) ke pelayan. Perlu diingatkan bahawa kami juga perlu menetapkan pengepala permintaan untuk memastikan pelayan dapat menghuraikan data yang dihantar dengan betul.
xmlhttp.onreadystatechange = function(){ if (this.readyState == 4 && this.status == 200){ // 成功接收到服务器的响应后执行的代码 alert(this.responseText); // 显示服务器返回的数据 } }
Di sini, kami menggunakan fungsi panggil balik untuk menerima respons daripada pelayan. Apabila readyState ialah 4 dan status ialah 200, ia bermakna pelayan telah mengembalikan data respons Kita boleh mendapatkan data dalam fungsi panggil balik dan memaparkannya pada halaman.
Ringkasan
Di atas ialah beberapa cara untuk melaksanakan skrip PHP tanpa melompat ke halaman. Perlu diingatkan bahawa untuk beberapa operasi yang melibatkan maklumat sensitif seperti akaun pengguna dan kata laluan, langkah yang lebih selamat harus diambil untuk melindungi maklumat pengguna. Contohnya, tambahkan mekanisme pengesahan keselamatan pada skrip PHP supaya hanya pengguna yang disahkan boleh melaksanakan skrip tersebut.
Atas ialah kandungan terperinci Penjelasan terperinci tentang cara melaksanakan skrip PHP tanpa melompat halaman. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!