原諒我,但我不太懂英語。我使用翻譯 deepl.com。在這一點(diǎn)上,俄羅斯程序員無法幫助我。我不是一個(gè)程序員,“我只為自己編程”。我有一個(gè)問題 - 我無法向服務(wù)器發(fā)送 POST (JSON) 請求。我想做什么 - Fiber的服務(wù)器通過POST請求(JSON,XMLHttpRequest)從html頁面獲取2個(gè)參數(shù),并在處理后服務(wù)器給我一個(gè)字符串。我使用Fiber是因?yàn)槲以?jīng)為自己制作了一個(gè)小型靜態(tài)網(wǎng)站,并且在“示例”中都很清楚。我做了一個(gè)快速的ctrl+ C - ctrl + V,只是調(diào)整了我的代碼。然后我調(diào)整了html,js,css。我有一個(gè)工作網(wǎng)站!:-)main.go - 啟動(dòng)服務(wù)器(這里沒有問題)package main import ( "github.com/gofiber/fiber" "github.com/gofiber/fiber/middleware/logger") func main() { app := fiber.New() app.Use(logger.New()) app.Static("/", ".") app.Get("/", func(c *fiber.Ctx) error { return c.SendFile("./main.html") }) app.Post("/search", PostTodo) app.Listen(":3003") }search.go - 關(guān)于接收數(shù)據(jù)后要做什么的邏輯。(到目前為止只是一種模板,有一個(gè)小問題,但它大多有效)。package main import ( "fmt" "github.com/gofiber/fiber") type Response_JSON struct { Name string `json:"name"` Surname string `json:"surname"`} func PostTodo(c *fiber.Ctx) error { type request struct { Name string `json:"name"` Surname string `json:"surname"` } var body request err := c.BodyParser(&body) if err != nil { return c.Status(fiber.StatusBadRequest).JSON(fiber.Map{ "error": "Cannot parse JSON", }) } fmt.Println("body: ", err) todo := Response_JSON{ Name: body.Name, Surname: body.Surname, } fmt.Println("todo: ", todo) my_request := "<div>" + todo.Name + "</div>" my_request = my_request + "<hr><div>" + todo.Surname + "</div>" return c.SendString(my_request)}主頁面.html - 首頁<!DOCTYPE html><html><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>Proba</title></head>
1 回答

紫衣仙女
TA貢獻(xiàn)1839條經(jīng)驗(yàn) 獲得超15個(gè)贊
你看到的問題與Go(甚至Fiber)無關(guān),這是因?yàn)槟愕谋韱螘?huì)立即發(fā)布,javascript沒有機(jī)會(huì)觸發(fā)。
您需要添加以阻止事件“冒泡”并觸發(fā)表單提交。preventDefault();
// Bind the call to the variable 'e'
mybutton.addEventListener("click", (e) => {
// Add this line!
e.preventDefault();
/* ... the rest is the same ... */
- 1 回答
- 0 關(guān)注
- 74 瀏覽
添加回答
舉報(bào)
0/150
提交
取消