Heim  >  Artikel  >  Web-Frontend  >  Eine Lösung für das Problem von zwei Übermittlungen mit einem Klick, wenn eine Ajax-Anfrage für eine Schaltfläche gestellt wird

Eine Lösung für das Problem von zwei Übermittlungen mit einem Klick, wenn eine Ajax-Anfrage für eine Schaltfläche gestellt wird

韦小宝
韦小宝Original
2017-12-30 20:13:443118Durchsuche

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: e97b6ef8681a29e34cde66596ff86abf

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 Aktualisierung

Beispielanalyse 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!

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