Heim Backend-Entwicklung PHP-Problem Was soll ich tun, wenn PHP beim Absenden eines Beitrags nicht zur Seite springt?

Was soll ich tun, wenn PHP beim Absenden eines Beitrags nicht zur Seite springt?

Mar 29, 2023 am 10:13 AM

Mit der Entwicklung des Internets müssen immer mehr Websites Benutzerdaten über Formulare übermitteln. Unter diesen eignet sich PHP als weit verbreitete serverseitige Programmiersprache sehr gut für die Verarbeitung von Formulardaten. In PHP können Formulardaten über die POST-Methode übergeben werden. Normalerweise springt POST nach dem Absenden zu anderen Seiten. Manchmal hoffen wir jedoch, dass die Seite nach dem Absenden der Formulardaten nicht springt und die Übermittlungsergebnisse auf derselben Seite angezeigt werden. In diesem Artikel wird erläutert, wie Sie die PHP-Übermittlung von POST-Anfragen implementieren, ohne zur Seite zu springen.

1. AJAX-Technologie verwenden

AJAX ist die Abkürzung für Asynchronous JavaScript and XML (asynchrones JavaScript und XML). Es handelt sich um eine Technologie, die Daten vom Server über den JavaScript-Hintergrund erhält, ohne die gesamte Seite zu aktualisieren. Daher können Formulardaten mithilfe der AJAX-Technologie übermittelt werden, ohne dass die Seite aktualisiert werden muss.

Zuerst müssen Sie die jQuery-Bibliothek in den HTML-Code einführen. jQuery ist eine leichtgewichtige JavaScript-Bibliothek, die die JavaScript-Programmierung erheblich vereinfacht.

<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
Nach dem Login kopieren

Fügen Sie dem Formular-Tag ein ID-Attribut hinzu, um das Formular in jQuery zu bearbeiten.

<form id="myForm" action="submit.php" method="post">
  <!-- 表单元素 -->
</form>
Nach dem Login kopieren

Verwenden Sie die $.post()-Methode von jQuery in JavaScript, um Formulardaten zu übermitteln. Der Beispielcode lautet wie folgt: Die Methode

$(function(){
  $('#myForm').submit(function(event){
    event.preventDefault(); // 阻止表单默认提交
    $.post('submit.php', $(this).serialize(), function(response){
      // 处理服务器返回的响应数据
    });
  });
});
Nach dem Login kopieren

$.post() empfängt drei Parameter: die zu übermittelnde URL, die zu übermittelnden Daten und bei Erfolg die Rückruffunktion. Unter anderem kann die Methode $(this).serialize() die Formulardaten zur einfachen Übertragung in eine Zeichenfolge serialisieren.

Verwenden Sie in PHP-Dateien (z. B. „submit.php“) das superglobale Array „$_POST“, um Formulardaten zu empfangen und diese nach der Verarbeitung an den Client zurückzugeben. Der Beispielcode lautet wie folgt:

<?php
// 处理表单数据
$response = array("status" => 1, "message" => "提交成功");
echo json_encode($response); // 将响应数据转换为 JSON 格式返回给客户端
?>
Nach dem Login kopieren

2. Implementierung mit Iframe

Die Methode zur Verwendung von Iframe ist relativ einfach. Sie können beim Absenden des Formulars einen versteckten Iframe erstellen und die Formulardaten an den Iframe senden. Da die Formulardaten innerhalb eines Iframes übermittelt werden, wird die URL der aktuellen Seite nicht geändert. Schließlich können die Antwortdaten im Iframe über JS abgerufen und auf der aktuellen Seite angezeigt werden.

Der HTML-Code lautet wie folgt:

<form id="myForm" target="iframe" action="submit.php" method="post">
  <!-- 表单元素 -->
  <input type="submit" value="提交">
</form>
<iframe name="iframe" style="display:none;"></iframe>
Nach dem Login kopieren

Unter anderem gibt das Zielattribut des Formulars das Fenster oder den Frame an, an das gesendet werden soll. Da wir eine nicht springende Seite erreichen möchten, geben wir das Ziel als versteckten Iframe an.

Verarbeiten Sie die Formulardaten in subscribe.php und geben Sie die Antwortdaten an den Iframe zurück:

<?php
// 处理表单数据
$response = array("status" => 1, "message" => "提交成功");
echo "<script>parent.postMessage('" . json_encode($response) . "', '*');</script>"; // 将响应数据传递给父页面
?>
Nach dem Login kopieren

Hören Sie sich das Ladeereignis des Iframes über JS auf der übergeordneten Seite an und erhalten Sie die Antwortdaten im Iframe:

$(function(){
  $('#iframe').on('load', function(){
    var response = $(this).contents().find('body').html();
    // 处理服务器返回的响应数据
  });
});
Nach dem Login kopieren

Zusammenfassung

In diesem Artikel werden zwei Möglichkeiten zur Implementierung der PHP-Übermittlung von POST-Anfragen ohne Seitensprung vorgestellt: die Verwendung der AJAX-Technologie und die Verwendung von iframe. Beide Methoden haben ihre Vor- und Nachteile und können je nach Bedarf ausgewählt werden.

Durch die Verwendung der AJAX-Technologie kann eine Seitenaktualisierung weitestgehend vermieden werden, und der Vorgang wird reibungsloser. Allerdings sind einige Grundkenntnisse in JavaScript und Vertrautheit mit der jQuery-Bibliothek erforderlich.

Die Verwendung der Iframe-Technologie ist einfacher zu implementieren, Sie müssen jedoch einen zusätzlichen Iframe erstellen und die Antwortdaten im Iframe verarbeiten.

Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn PHP beim Absenden eines Beitrags nicht zur Seite springt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP 8 JIT (Just-in-Time) -Kompilation: Wie es die Leistung verbessert. PHP 8 JIT (Just-in-Time) -Kompilation: Wie es die Leistung verbessert. Mar 25, 2025 am 10:37 AM

Die JIT -Kompilierung von PHP 8 verbessert die Leistung, indem häufig ausgeführte Code in den Maschinencode zusammengestellt wird, um Anwendungen mit schweren Berechnungen zugute und die Ausführungszeiten zu reduzieren.

PHP -Authentifizierung & amp; Autorisierung: sichere Implementierung. PHP -Authentifizierung & amp; Autorisierung: sichere Implementierung. Mar 25, 2025 pm 03:06 PM

In dem Artikel wird die Implementierung einer robusten Authentifizierung und Autorisierung in PHP erörtert, um den nicht autorisierten Zugriff zu verhindern, Best Practices zu beschreiben und sicherheitsrelevante Tools zu empfehlen.

PHP -Verschlüsselung: Symmetrische und asymmetrische Verschlüsselung. PHP -Verschlüsselung: Symmetrische und asymmetrische Verschlüsselung. Mar 25, 2025 pm 03:12 PM

In dem Artikel wird die symmetrische und asymmetrische Verschlüsselung in PHP erörtert und ihre Eignung, Leistung und Sicherheitsunterschiede verglichen. Die symmetrische Verschlüsselung ist schneller und für Massendaten geeignet, während asymmetrisch für den sicheren Schlüsselaustausch verwendet wird.

Wie rufen Sie Daten mit PHP aus einer Datenbank ab? Wie rufen Sie Daten mit PHP aus einer Datenbank ab? Mar 20, 2025 pm 04:57 PM

In Artikel wird das Abrufen von Daten aus Datenbanken mithilfe von PHP, die Schritte, Sicherheitsmaßnahmen, Optimierungstechniken und gemeinsame Fehler bei Lösungen erfasst.

OWASP Top 10 PHP: Beschreiben und mildern gemeinsame Schwachstellen. OWASP Top 10 PHP: Beschreiben und mildern gemeinsame Schwachstellen. Mar 26, 2025 pm 04:13 PM

In dem Artikel werden OWASP Top 10 Schwachstellen in PHP- und Minderungsstrategien erörtert. Zu den wichtigsten Problemen gehören die Injektion, die kaputte Authentifizierung und XSS mit empfohlenen Tools zur Überwachung und Sicherung von PHP -Anwendungen.

Was ist der Zweck von MySQLI_Query () und MySQLI_Fetch_assoc ()? Was ist der Zweck von MySQLI_Query () und MySQLI_Fetch_assoc ()? Mar 20, 2025 pm 04:55 PM

In dem Artikel werden die Funktionen von MySQLI_Query () und MySQLI_Fetch_assoc () in PHP für MySQL -Datenbankinteraktionen erörtert. Es erklärt ihre Rollen, Unterschiede und liefert ein praktisches Beispiel für ihre Verwendung. Das Hauptargument konzentriert sich auf die Vorteile von usin

PHP Secure-Datei-Uploads: Verhindern von Sicherheitslücken im Zusammenhang mit Datei. PHP Secure-Datei-Uploads: Verhindern von Sicherheitslücken im Zusammenhang mit Datei. Mar 26, 2025 pm 04:18 PM

In dem Artikel wird das Sicherung von PHP -Dateien -Uploads erläutert, um Schwachstellen wie die Code -Injektion zu verhindern. Es konzentriert sich auf die Dateitypvalidierung, den sicheren Speicher und die Fehlerbehandlung, um die Anwendungssicherheit zu verbessern.

PHP -CSRF -Schutz: Wie Sie CSRF -Angriffe verhindern. PHP -CSRF -Schutz: Wie Sie CSRF -Angriffe verhindern. Mar 25, 2025 pm 03:05 PM

In dem Artikel werden Strategien erörtert, um CSRF-Angriffe in PHP zu verhindern, einschließlich der Verwendung von CSRF-Token, selben Cookies und ordnungsgemäßem Sitzungsmanagement.

See all articles