Heim >Backend-Entwicklung >PHP-Tutorial >Warum schlägt mein AJAX-Beitrag fehl, wenn ein Formular mit $.load() von jQuery geladen wird?

Warum schlägt mein AJAX-Beitrag fehl, wenn ein Formular mit $.load() von jQuery geladen wird?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-09 19:07:19203Durchsuche

Why Does My AJAX Post Fail When Loading a Form with jQuery's $.load()?

Ajax-Beitragsfehler im geladenen Formular

In einem Szenario, in dem ein Schaltflächenklick das Laden eines externen Formulars mithilfe von $.load( von jQuery auslöst) )-Methode tritt ein Problem auf, wenn das Formular versucht, Daten zu veröffentlichen. Anstatt an die vorgesehene PHP-Datei weitergeleitet zu werden, lädt sich die Seite selbst neu.

AJAX-Übersicht

Bevor Sie sich mit der Lösung befassen, ist es wichtig, das Konzept von AJAX zu verstehen ( Asynchrones JavaScript und XML). AJAX ermöglicht es Websites, Daten mit einem Server auszutauschen, ohne die gesamte Seite zu aktualisieren.

Das Problem und die Lösung

Das Problem hier rührt von einem mangelnden Verständnis der Funktionsweise von AJAX her . Die Schaltfläche löst das Laden eines externen Formulars mit $.load() aus, es wird jedoch keine AJAX-Anfrage erstellt. Um Daten über AJAX zu veröffentlichen, muss das Formular mit der Funktion $.ajax() übermittelt werden.

Beispielcode

Beachten Sie den folgenden überarbeiteten Code:

$('#Sel').change(function() {
    var opt = $(this).val();
    var someelse = 'Hello';
    var more_stuff = 'Goodbye';
    $.ajax({
        type: "POST",
        url: "receiving_file.php",
        data: 'selected_opt=' + opt + '&something_else=' +someelse+'&more_stuff='+more_stuff,
        success:function(data){
            alert('This was sent back: ' + data);
        }
    });
});

In diesem überarbeiteten Code werden die Formulardaten mit $.ajax() gepostet. Das Skript sendet den ausgewählten Wert und zusätzliche Parameter an „receiving_file.php“ und zeigt die zurückgegebenen Daten in einem Warnfeld an.

Das obige ist der detaillierte Inhalt vonWarum schlägt mein AJAX-Beitrag fehl, wenn ein Formular mit $.load() von jQuery geladen wird?. 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