Heim > Artikel > Backend-Entwicklung > Ausführliche Erklärung, wie man ein PHP-Skript ausführt, ohne die Seite zu wechseln
In der Webentwicklung müssen wir häufig PHP-Skripte verwenden, um bestimmte Funktionen zu implementieren, z. B. die Überprüfung der Benutzeranmeldung, die Übermittlung von Formulardaten usw. Bei der Ausführung dieser PHP-Skripte kommt es jedoch häufig zu Seitensprüngen, was sich nicht positiv auf die Benutzererfahrung auswirkt und auch die Leistung der Website beeinträchtigt. Wie kann ich also ein PHP-Skript ausführen, ohne zur Seite zu springen? In diesem Artikel werden Ihnen verschiedene Möglichkeiten vorgestellt, dies zu erreichen.
1. Ajax-Technologie verwenden
Die Ajax-Technologie kann asynchron Anfragen an den Server senden und den Seiteninhalt aktualisieren, ohne die Seite zu aktualisieren. Daher kann die Ajax-Technologie verwendet werden, um PHP-Skripte auszuführen, ohne zur Seite zu springen. Die spezifische Operationsmethode ist wie folgt:
<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); // 显示服务器返回的数据 } });
In diesem Beispiel haben wir eine POST-Anfrage an das PHP-Skript namens test.php gesendet Gleichzeitig werden zwei Parameter (Name und Alter) an den Server übergeben. Wenn der Server die Anfrage erfolgreich verarbeitet, gibt er einige Daten zurück, die wir in der Ajax-Callback-Funktion abrufen können.
2. Verwenden Sie das Iframe-Tag
Das Iframe-Tag kann in eine andere HTML-Seite eingebettet werden. Wir können die Seite, die das PHP-Skript ausführt, in einen Iframe einbetten. Die spezifische Operationsmethode ist wie folgt:
<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); // 获取执行结果 } }
Hier definieren wir eine SubmitForm-Funktion. Wenn diese Funktion aufgerufen wird, wird das Formular automatisch übermittelt und das Ausführungsergebnis wird erhalten, nachdem der Iframe geladen wurde. Es ist zu beachten, dass das Anzeigeattribut des Iframes auf „None“ gesetzt sein muss, da es sonst Auswirkungen auf das Layout der Seite hat.
3. Verwenden Sie das XMLHttpRequest-Objekt.
XMLHttpRequest ist ein JavaScript-Objekt, das zum Senden von Daten zwischen dem Browser und dem Server verwendet wird. Sie können XMLHttpRequest verwenden, um eine Anfrage an den Server zu senden, die Ausführungsergebnisse abzurufen und dann den Seiteninhalt zu aktualisieren, ohne die Seite zu aktualisieren. Die spezifische Operationsmethode ist wie folgt:
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"); // 发送请求的数据
Hier haben wir eine POST-Anfrage verwendet und zwei Parameter (Name und Alter) an übergeben Server. Es ist zu beachten, dass wir auch den Anforderungsheader festlegen müssen, um sicherzustellen, dass der Server die gesendeten Daten korrekt analysieren kann.
xmlhttp.onreadystatechange = function(){ if (this.readyState == 4 && this.status == 200){ // 成功接收到服务器的响应后执行的代码 alert(this.responseText); // 显示服务器返回的数据 } }
Hier verwenden wir eine Rückruffunktion, um die Antwort vom Server zu erhalten. Wenn readyState 4 und Status 200 ist, bedeutet dies, dass der Server Antwortdaten zurückgegeben hat. Wir können die Daten in der Rückruffunktion abrufen und auf der Seite anzeigen.
Zusammenfassung
Die oben genannten Möglichkeiten sind mehrere Möglichkeiten, PHP-Skripte auszuführen, ohne zur Seite zu springen. Es ist zu beachten, dass für einige Vorgänge, bei denen es um vertrauliche Informationen wie Benutzerkonten und Passwörter geht, sicherere Maßnahmen zum Schutz der Benutzerinformationen ergriffen werden sollten. Fügen Sie beispielsweise einem PHP-Skript einen Sicherheitsüberprüfungsmechanismus hinzu, damit nur authentifizierte Benutzer das Skript ausführen können.
Das obige ist der detaillierte Inhalt vonAusführliche Erklärung, wie man ein PHP-Skript ausführt, ohne die Seite zu wechseln. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!