Der Grund, warum Anfragen wie ajax zweimal übermittelt werden, liegt darin, dass nach der Ausführung der ajax-Anfrage das Übermittlungsverhalten nicht blockiert wird. Der Editor unten zeigt Ihnen zwei Arten von Schaltflächen an. AjaxDie Lösung, bei einer Anfrage einmal zu klicken und zweimal abzusenden, sollte einen Blick auf die Schaltfläche auf der Seite werfen Senden von:
Ajax-Anfrage, in JQuery ist:
$(function () { $('#submit').click(function () { var createGenreForm = $('#createGenreForm'); if (createGenreForm.valid()) { var obj = { Name: $('#Name').val(), Description: $('#Description').val() }; var jsonSerialized = JSON.stringify(obj); $.ajax({ type: "POST", url: createGenreForm.attr('action'), dataType: "json", contentType: "application/json; charset=utf-8", data: jsonSerialized, success: function (result) { alert(result.Message); }, error: function (error) { alert("There was an error posting the data to the server: " + error.responseText); } }); } }); });
Der Grund für zwei Übermittlungen liegt darin, dass nach der Ausführung der Ajax-Anfrage das Übermittlungsverhalten nicht blockiert wurde, daher die Lösung Es gibt zwei Methoden: 1 Anstelle einer Schaltfläche vom Typ „Senden“ verwenden Sie eine Schaltfläche vom Typ „Schaltfläche“.
2. Fügen Sie in der Funktion $('#submit').click am Ende eine Zeile return false;
Eine kleine Erklärung: Warum sollten wir Englisch in den Titel einbetten? Der Grund besteht darin, ausländischen Internetnutzern die Möglichkeit zu geben, diesen Artikel abzufragen. Wenn ich normalerweise Informationen bei Google suche, verweise ich oft auf die Blogs ausländischer Internetnutzer, die mir bei der Lösung vieler Probleme helfen, deshalb möchte ich auch, dass sie auf die von mir geschriebenen Inhalte verweisen können. Natürlich kann ich nicht alles im Artikel ins Englische übersetzen, deshalb versuche ich mein Bestes, den gesamten Code einzufügen und den Code für sich selbst sprechen zu lassen.
Das Obige ist die Lösung, die Ihnen der Herausgeber vorstellt: Klicken Sie zweimal, um die Ajax-Anfrage der Schaltfläche zu senden. Ich hoffe, dass sie für alle hilfreich ist! !
Verwandte Empfehlungen:Beispielmethode von handgeschriebenem Ajax zur Implementierung einer asynchronen AktualisierungBeispielanalyse von Ajax asynchron Anfragetechnologie Detailliertes Beispiel für das Prinzip der domänenübergreifenden Ajax-Anfrage
Das obige ist der detaillierte Inhalt vonEine Lösung für das Problem von zwei Übermittlungen mit einem Klick, wenn eine Ajax-Anfrage für eine Schaltfläche gestellt wird. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!