1

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.

Community
  • 1
  • 1
Poldi
  • 13
  • 4
  • Your primary question doesn't make sense. Can you reword it, or ask something more specific? – JimB Dec 22 '14 at 19:53

1 Answers1

1

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())

TK-421
  • 10,598
  • 3
  • 38
  • 34
  • 1
    Many thanks TK-421. This helps me a lot. [Go Playground,](https://play.golang.org/p/Xi6Qs-KQnm) I post here my code, maybe it helps somebody. Regarding goji I have now to look how it works with this web framework. @JimB: I think the question is fine, please take a look at my playground example. – Poldi Dec 27 '14 at 18:14
  • 1
    I could solve my question now. I post an example code solution with the web framework goji at playground: [goji Go Playground.](https://play.golang.org/p/YknqM9JTrS) Please take a look. Thanks TK-421 to show me the correct direction for read-in and learning go. @JimB: I learned that there is no differenece from the golang handling if the HTML form value is send by method GET or POST. – Poldi Dec 30 '14 at 09:54