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!