Heim >Backend-Entwicklung >Golang >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.
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 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) }
使用以下命令运行 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 页面的底部,在 f5a47148e367a6035fd7a2faa965022e
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); }); });Durchsuchen Sie die Webanwendung
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) }Öffnen Sie dann
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 Tagf5a47148e367a6035fd7a2faa965022e
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!