iris/_examples/beginner/read-form/main.go
Gerasimos (Makis) Maropoulos 7c5d7cae05 Add More Examples & Categorized in Folders & TOC
Part 2.


Former-commit-id: 3ccb7c259e86c0b6e5147d372aa9cff10c1b5bb1
2017-03-24 00:25:59 +02:00

43 lines
1.0 KiB
Go

// package main contains an example on how to use the ReadForm, but with the same way you can do the ReadJSON & ReadJSON
package main
import (
"gopkg.in/kataras/iris.v6"
"gopkg.in/kataras/iris.v6/adaptors/httprouter"
"gopkg.in/kataras/iris.v6/adaptors/view"
)
type Visitor struct {
Username string
Mail string
Data []string `form:"mydata"`
}
func main() {
app := iris.New()
// output startup banner and error logs on os.Stdout
app.Adapt(iris.DevLogger())
// set the router, you can choose gorillamux too
app.Adapt(httprouter.New())
// set the view html template engine
app.Adapt(view.HTML("./templates", ".html"))
app.Get("/", func(ctx *iris.Context) {
if err := ctx.Render("form.html", nil); err != nil {
ctx.Log(iris.DevMode, err.Error())
}
})
app.Post("/form_action", func(ctx *iris.Context) {
visitor := Visitor{}
err := ctx.ReadForm(&visitor)
if err != nil {
ctx.Log(iris.DevMode, "Error when reading form: "+err.Error())
}
ctx.Writef("Visitor: %#v", visitor)
})
app.Listen(":8080")
}