Golangs Browserunterstützung: Aufbau eines interaktiven Webs
Erstellen Sie interaktive Webanwendungen, die im Browser ausgeführt werden. Schritte: Erstellen Sie ein Go-Projekt und eine main.go-Datei und fügen Sie einen HTTP-Handler hinzu, um Nachrichten anzuzeigen. Fügen Sie Formulare mit HTML und JavaScript für Benutzereingaben und -übermittlungen hinzu. Fügen Sie die Handhabung von POST-Anfragen in Ihrer Go-Anwendung hinzu, empfangen Sie Benutzernachrichten und geben Sie Antworten zurück. Verwenden Sie die Fetch-API, um POST-Anfragen zu senden und Serverantworten zu verarbeiten.
Erstellen Sie interaktive Webanwendungen mit Go: Browserunterstützung
Go ist eine vielseitige Programmiersprache, die nicht auf die Backend-Entwicklung beschränkt ist. In diesem Artikel zeigen wir Ihnen, wie Sie mit Go ganz einfach interaktive Webanwendungen erstellen und im Browser ausführen können.
Erstellen Sie eine Go-Webanwendung.
Erstellen Sie zunächst ein neues Go-Projekt:
go mod init myapp
Als nächstes erstellen Sie eine Datei mit dem Namen main.go
und fügen Sie den folgenden Code hinzu: main.go
的文件并添加以下代码:
package main import ( "fmt" "net/http" ) func main() { // 定义一个处理程序函数,它将在浏览器中渲染一个简单的消息 http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello from Go!") }) // 启动 HTTP 服务器侦听端口 8080 上的请求 http.ListenAndServe(":8080", nil) }
浏览 Web 应用程序
使用以下命令运行 Go 应用程序:
go run main.go
然后,在浏览器中打开 http://localhost:8080
。你应该会看到 "Hello from Go!" 消息显示在页面上。
添加交互性
要添加交互性,我们可以使用 HTML 和 JavaScript。将以下内容添加到 main.go
文件中,在 http.HandleFunc
闭包内:
// 创建一个简单表单,包含一个输入字段和一个提交按钮 fmt.Fprintf(w, "<form method='POST'><input type='text' name='message'/><input type='submit' value='Send'/></form>")
这将在页面上创建一个表单,用户可以在其中输入消息并按 "Send" 按钮提交。
接下来,添加以下 JavaScript 代码到 HTML 页面的底部,在 </form>
const form = document.querySelector('form'); form.addEventListener('submit', (e) => { e.preventDefault(); const message = e.target.querySelector('input[name="message"]').value; // 使用 Fetch API 发送 POST 请求 fetch('/', { method: 'POST', body: JSON.stringify({ message }), headers: { 'Content-Type': 'application/json' } }) .then(res => res.json()) .then(data => { // 处理服务器响应 console.log(data); }) .catch(error => { // 处理错误 console.log(error); }); });
Führen Sie die Go-Anwendung mit dem folgenden Befehl aus:
func main() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { if r.Method == "POST" { // 解析 JSON 请求正文 var msg Message decoder := json.NewDecoder(r.Body) if err := decoder.Decode(&msg); err != nil { http.Error(w, err.Error(), http.StatusBadRequest) return } // 处理消息并返回响应 fmt.Fprintf(w, "Got your message: %s", msg.Message) } else { // 处理其他请求方法 } }) // 定义一个用于保存消息的类型 type Message struct { Message string `json:"message"` } http.ListenAndServe(":8080", nil) }
http://localhost:8080
in Ihrem Browser. Auf der Seite sollte die Meldung „Hallo von Go!“ angezeigt werden. Interaktivität hinzufügenUm Interaktivität hinzuzufügen, können wir HTML und JavaScript verwenden. Fügen Sie der Datei main.go
innerhalb des Abschlusses http.HandleFunc
Folgendes hinzu: rrreee
Dadurch wird ein Formular auf der Seite erstellt, in das der Benutzer eine Nachricht eingeben und drücken kann Klicken Sie zum Absenden auf die Schaltfläche „Senden“. 🎜🎜Fügen Sie als Nächstes den folgenden JavaScript-Code am Ende der HTML-Seite nach dem Tag</form>
hinzu: 🎜rrreee🎜Dieser JavaScript-Code wartet auf Formularübermittlungen und sammelt vom Benutzer eingegebene Nachrichten und Verwenden Sie die Fetch-API, um POST-Anfragen an den Go-Server zu senden. 🎜🎜Fügen Sie in Ihrer Go-Anwendung den folgenden Code zur Verarbeitung von POST-Anfragen hinzu: 🎜rrreee🎜Mit diesen Änderungen kann unsere Webanwendung nun Eingaben vom Benutzer empfangen und eine Antwort darauf anzeigen. 🎜🎜Fazit🎜🎜Das Erstellen interaktiver Webanwendungen mit Go ist einfach und leistungsstark. Durch die Kombination der Backend-Verarbeitungsleistung von Go mit den Frontend-Funktionen von HTML und JavaScript können Sie umfassende Benutzererlebnisse erstellen, die direkt im Browser ausgeführt werden. 🎜Das obige ist der detaillierte Inhalt vonGolangs Browserunterstützung: Aufbau eines interaktiven Webs. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Das sichere Lesen und Schreiben von Dateien in Go ist von entscheidender Bedeutung. Zu den Richtlinien gehören: Überprüfen von Dateiberechtigungen, Schließen von Dateien mithilfe von Verzögerungen, Validieren von Dateipfaden, Verwenden von Kontext-Timeouts. Das Befolgen dieser Richtlinien gewährleistet die Sicherheit Ihrer Daten und die Robustheit Ihrer Anwendungen.

Wie konfiguriere ich Verbindungspooling für Go-Datenbankverbindungen? Verwenden Sie den DB-Typ im Datenbank-/SQL-Paket, um eine Datenbankverbindung zu erstellen. Legen Sie MaxOpenConns fest, um die maximale Anzahl gleichzeitiger Verbindungen festzulegen. Legen Sie ConnMaxLifetime fest, um den maximalen Lebenszyklus der Verbindung festzulegen.

Das Go-Framework zeichnet sich durch seine hohen Leistungs- und Parallelitätsvorteile aus, weist jedoch auch einige Nachteile auf, z. B. dass es relativ neu ist, über ein kleines Entwickler-Ökosystem verfügt und einige Funktionen fehlen. Darüber hinaus können schnelle Änderungen und Lernkurven von Framework zu Framework unterschiedlich sein. Das Gin-Framework ist aufgrund seines effizienten Routings, der integrierten JSON-Unterstützung und der leistungsstarken Fehlerbehandlung eine beliebte Wahl für die Erstellung von RESTful-APIs.

Der Unterschied zwischen dem GoLang-Framework und dem Go-Framework spiegelt sich in der internen Architektur und den externen Funktionen wider. Das GoLang-Framework basiert auf der Go-Standardbibliothek und erweitert deren Funktionalität, während das Go-Framework aus unabhängigen Bibliotheken besteht, um bestimmte Zwecke zu erreichen. Das GoLang-Framework ist flexibler und das Go-Framework ist einfacher zu verwenden. Das GoLang-Framework hat einen leichten Leistungsvorteil und das Go-Framework ist skalierbarer. Fall: Gin-Gonic (Go-Framework) wird zum Erstellen der REST-API verwendet, während Echo (GoLang-Framework) zum Erstellen von Webanwendungen verwendet wird.

Best Practices: Erstellen Sie benutzerdefinierte Fehler mit klar definierten Fehlertypen (Fehlerpaket). Stellen Sie weitere Details bereit. Protokollieren Sie Fehler ordnungsgemäß. Geben Sie Fehler korrekt weiter und vermeiden Sie das Ausblenden oder Unterdrücken. Wrappen Sie Fehler nach Bedarf, um Kontext hinzuzufügen

JSON-Daten können mithilfe der gjson-Bibliothek oder der json.Unmarshal-Funktion in einer MySQL-Datenbank gespeichert werden. Die gjson-Bibliothek bietet praktische Methoden zum Parsen von JSON-Feldern, und die Funktion json.Unmarshal erfordert einen Zieltypzeiger zum Unmarshalieren von JSON-Daten. Bei beiden Methoden müssen SQL-Anweisungen vorbereitet und Einfügevorgänge ausgeführt werden, um die Daten in der Datenbank beizubehalten.

So beheben Sie häufige Sicherheitsprobleme im Go-Framework Angesichts der weit verbreiteten Einführung des Go-Frameworks in der Webentwicklung ist die Gewährleistung seiner Sicherheit von entscheidender Bedeutung. Im Folgenden finden Sie eine praktische Anleitung zur Lösung häufiger Sicherheitsprobleme mit Beispielcode: 1. SQL-Injection Verwenden Sie vorbereitete Anweisungen oder parametrisierte Abfragen, um SQL-Injection-Angriffe zu verhindern. Beispiel: constquery="SELECT*FROMusersWHEREusername=?"stmt,err:=db.Prepare(query)iferr!=nil{//Handleerror}err=stmt.QueryR

Die FindStringSubmatch-Funktion findet die erste Teilzeichenfolge, die mit einem regulären Ausdruck übereinstimmt: Die Funktion gibt ein Segment zurück, das die passende Teilzeichenfolge enthält, wobei das erste Element die gesamte übereinstimmende Zeichenfolge und die nachfolgenden Elemente einzelne Teilzeichenfolgen sind. Codebeispiel: regexp.FindStringSubmatch(text,pattern) gibt einen Ausschnitt übereinstimmender Teilzeichenfolgen zurück. Praktischer Fall: Es kann verwendet werden, um den Domänennamen in der E-Mail-Adresse abzugleichen, zum Beispiel: email:="user@example.com", pattern:=@([^\s]+)$, um die Übereinstimmung des Domänennamens zu erhalten [1].
