【问题标题】:need to send golang data to html by button click需要通过按钮单击将golang数据发送到html
【发布时间】:2021-08-19 16:23:25
【问题描述】:
package main

import (
    "time"
    "fmt"
    "encoding/json"
    "net/http"
    
)
type GetTime struct{
    Current_time string `json:"date"`
}
func main(){
  t:=(time.Now().Format(time.RFC3339))
    ctime:=GetTime{Current_time:t}
    byteArray,err:=json.Marshal(ctime)
    {
        if err!=nil{
            fmt.Println(err)
        }
    }
    fmt.Println(string(byteArray))
}

当在 Html Page 中单击按钮时,我需要将上述 Go lang 数据发送到 Html Form

【问题讨论】:

  • 您忘记提出问题,或说明您在尝试实现您的要求时遇到的问题。

标签: html ajax go


【解决方案1】:

您可能很少花费精力来解决这个问题。虽然我很无聊,所以我决定帮助你。这是您的后端:

package main

import (
    "encoding/json"
    "fmt"
    "log"
    "net/http"
    "time"
)

type Response struct {
    CurrentTime string
}

func main() {
    http.Handle("/", http.FileServer(http.Dir("web")))

    http.HandleFunc("/get-time", func(rw http.ResponseWriter, r *http.Request) {
        ctime := Response{
            CurrentTime: time.Now().Format(time.RFC3339),
        }
        byteArray, err := json.Marshal(ctime)
        if err != nil {
            fmt.Println(err)
        }
        rw.Write(byteArray)
    })

    if err := http.ListenAndServe(":5000", nil); err != nil {
        log.Fatal(err)
    }
}

您还需要位于 (web/index.html) 中的前端:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <button id="gt">get time</button>
    <div id="res"></div>
    <script>
        document.getElementById("gt").onclick = async (e) => {
            var req = await fetch("\get-time").then(r => r.json())
            document.getElementById("res").innerHTML = req.CurrentTime
        }
    </script>
</body>
</html>

【讨论】:

  • 我是这门语言的新手,我需要了解更多关于这方面的信息,我可以在哪里学习,请建议我一些网站链接,以便在旅途中了解更多信息
  • 如果你想要一些入门课程来向你介绍 golang 和一般编程,我可以给你一些课程。当然不是每个人都想在学习过程上花钱(我更新需要这样做)。我的建议是给自己设定一个目标。 Go 的良好起点是尝试创建一个网站。即使你没有完成它,它总是一个很好的体验,下次你这样做,你会比第一次走得更远。做网站虽然不只涉及围棋,所以如果你想要纯围棋项目,你可以在里面做一个游戏。
猜你喜欢
  • 2017-10-31
  • 2019-09-09
  • 2020-09-14
  • 2014-03-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-09
  • 1970-01-01
  • 2022-11-04
相关资源
最近更新 更多