我是计算机科学专业一年级的学生,也是网络开发的初学者。我真的很感兴趣如何在用 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 与项目的前端部分连接起来。
如果您知道我可以在哪些资源中找到问题的答案,或者您知道我如何处理它,我将非常高兴收到您的知识。
您将需要运行 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>