Go语言编写的前后端如何连接?

问题描述 投票:0回答:1

我是计算机科学专业一年级的学生,也是网络开发的初学者。我真的很感兴趣如何在用 HTML、CSS 编写的前端代码与我想用 Go 编写的后端代码之间建立连接?例如:如果我在 HTML 中制作一个按钮,我如何设法向我的 Go 后端发送信号以执行某些操作,例如写“Hello World!” ?

示例:

`<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Form</title>
</head>
<body>
    <button>Click me!</button>
</body>
</html>`

`package main

import (
"fmt"
"net/http"
)

func hello(w http.ResponseWriter, req *http.Request) {

fmt.Fprintf(w, "hello\n")

}

func headers(w http.ResponseWriter, req *http.Request) {

for name, headers := range req.Header {
    for _, h := range headers {
        fmt.Fprintf(w, "%v: %v\n", name, h)
    }
  }
}

func main() {

http.HandleFunc("/hello", hello)
http.HandleFunc("/headers", headers)

http.ListenAndServe(":8090", nil)
}`

我尝试在互联网上搜索信息,但不幸的是我没有找到任何我能理解的信息。我想我可以通过 Go Web 框架(例如 Gin)建立连接? 我是否有义务使用 Node.js 作为后端,或者我可以将 Go 与项目的前端部分连接起来。

如果您知道我可以在哪些资源中找到问题的答案,或者您知道我如何处理它,我将非常高兴收到您的知识。

html go backend web-development-server
1个回答
0
投票

您将需要运行 Go 后端应用程序。当它运行时,它将在“localhost:8090”上运行。要向此 url 发送操作,我们需要使用 javascript 触发它。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Form</title>
</head>
<body>
    <button onclick="getData()">Click me!</button>
<script>
        function getData() {
            fetch('http://localhost:8090/hello') 
                .then(response => response.json())
                .then(data => {
                    document.getElementById('output').textContent JSON.stringify(data, null, 2);
                })
                .catch(error => console.error('Error:', error));
        }
    </script>
</body>
</html>
© www.soinside.com 2019 - 2024. All rights reserved.