Heim  >  Artikel  >  Backend-Entwicklung  >  Golangs Browserunterstützung: Aufbau eines interaktiven Webs

Golangs Browserunterstützung: Aufbau eines interaktiven Webs

WBOY
WBOYOriginal
2024-04-07 16:03:01841Durchsuche

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.

Golang 的浏览器支持:搭建交互式 Web

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 页面的底部,在 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ügen

Um 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 f5a47148e367a6035fd7a2faa965022e 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!

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