Heim  >  Artikel  >  Backend-Entwicklung  >  Ausführliche Erklärung, wie man ein PHP-Skript ausführt, ohne die Seite zu wechseln

Ausführliche Erklärung, wie man ein PHP-Skript ausführt, ohne die Seite zu wechseln

PHPz
PHPzOriginal
2023-03-29 11:31:091096Durchsuche

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:

  1. Einführung der jQuery-Bibliothek in die HTML-Seite:
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
  1. Ajax-Code schreiben:
$.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:

  1. Fügen Sie ein Iframe-Tag zur HTML-Seite hinzu:
<iframe id="php-process" name="php-process" style="display:none;"></iframe>
  1. Fügen Sie ein Formular zur HTML-Seite hinzu:
<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>
  1. Verwenden Sie JavaScript, um das Formular zu senden und Ausführungsergebnisse zu erhalten:
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:

  1. Erstellen Sie ein XMLHttpRequest-Objekt:
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");  
}
  1. Senden Sie eine Anfrage an den Server:
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.

  1. Erhalten Sie die Antwort vom Server:
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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn