Golang HTML Button?
Wie kann ich in einem Go Backend Script schauen, ob ein Button auf dem HTML Frontend gedrückt wurde? Ich habe es bereits versucht, bin aber immer auf Logikfehler usw gestoßen
2 Antworten
Entweder du platzierst den Button in einem Formular:
<form action="your target URL ..." method="post">
<button name="clicked" value="1">Click me</button>
</form>
oder du schickst einen Request via JavaScript:
<button id="some-button">Click me</button>
<script>
document.getElementById("some-button").addEventListener("click", () => {
fetch("your target URL ...", {
method: "POST",
body: "clicked=1" });
});
</script>
In beiden Fällen wird ein HTTP Request an eine URL gerichtet, welcher von einem Go-Skript behandelt werden kann.
Um nun noch besser abzusichern, dass der Request tatsächlich vom Formular ( der Seite kam, könntest du einen AntiForgery-Token kreieren (in kurz: Eine ID wird erzeugt und in einem Cookie gespeichert sowie einem Hidden-Feld (z.B. des Formulars) gerendert; bei der Formularauswertung wird geprüft, ob Cookie und Feld noch dieselbe ID haben).
Gar nicht, das Backend ist nicht dazu da. Das prüft man im Front end mit Javascript und darüber kann man das Backend dann bei Wunsch kontaktieren