duanli0687 2014-12-22 15:10
浏览 78
已采纳

Goji-如何通过变量获取对GoLang的HTML GET表单请求?

Please take a look at my two files main.go and index.html. I am starting with the Goji web microframework. Find Snippets at the Goji web framework.

In my example I can see the HTML form webpage index.html at @Localhost8000 and I can type in the input field for example "test" and press the submit button. In the terminal output I can see that it was send: "Started GET "/?name=test" from 127.0.0.1:51580"

How can I get a HTML GET form request to golang in a variable? I think it will be going with goji.Get. I tried several ways but I get it not to run. I am happy if somebody can give me a hint or a snippet. I still learning golang.

File main.go:

package main

import (
     "net/http"
     "github.com/zenazn/goji"
 )


 func main() {
     staticFilesLocation := "public"
     goji.Handle("/", http.FileServer(http.Dir(staticFilesLocation)))
     goji.Serve()
 }

File index.html:

<html>
<head>
</head>
<body>
<!-- Simple form which will send a GET request -->
<form action="">
  <label for="GET-name">Name:</label>
  <input id="GET-name" type="text" name="name">
  <input type="submit" value="sendGET">
</form>
</body>
</html>

File loacations:

src/formgoji/main.go
src/formgoji/public/index.html

Output - start in terminal window:

$ go run main.go
2014/12/22 14:38:40.984448 Starting Goji on [::]:8000
2014/12/22 14:38:48.789214 [xxxx/yyyy-000001] Started GET "/" from 127.0.0.1:51580
2014/12/22 14:38:48.789332 [xxxx/yyyy-000001] Returning 304 in 74.8µs
2014/12/22 14:39:11.239039 [xxxx/yyyy-000002] Started GET "/?name=test" from   127.0.0.1:51580
2014/12/22 14:39:11.239149 [xxxx/yyyy-000002] Returning 304 in 66.489µs

A similiar question was here at stackoverflow: parse-input-from-html-form-in-golang This example I couldn't run.I think this has to do where your files are located and how is your @localhost defined. This is in this example missing.

  • 写回答

1条回答 默认 最新

  • doupo6967 2014-12-22 21:16
    关注

    Goji's advertised as a minimalistic framework and doesn't seem to be helping you much in terms of form submissions, so I think you'll need to look to standard Go.

    For an example you might check out how the body attribute is managed in the following examples, taken from Go's documentation:

    Editing Pages (represented as a textarea)

    Saving Pages (retrieved from Request using FormValue())

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 在不同的执行界面调用同一个页面
  • ¥20 基于51单片机的数字频率计
  • ¥50 M3T长焦相机如何标定以及正射影像拼接问题
  • ¥15 keepalived的虚拟VIP地址 ping -s 发包测试,只能通过1472字节以下的数据包(相关搜索:静态路由)
  • ¥20 关于#stm32#的问题:STM32串口发送问题,偶校验(even),发送5A 41 FB 20.烧录程序后发现串口助手读到的是5A 41 7B A0
  • ¥15 C++map释放不掉
  • ¥15 Mabatis查询数据
  • ¥15 想知道lingo目标函数中求和公式上标是变量情况如何求解
  • ¥15 关于E22-400T22S的LORA模块的通信问题
  • ¥15 求用二阶有源低通滤波将3khz方波转为正弦波的电路