Идет обработка данных формы HTML

У меня проблемы с получением данных из формы HTML. Шаблон отображается на локальном хосте:3000, я отправляю его на локальный хост:3000/ результатов с результатами "404 страница не найдена". URL не содержит ни одного поля формы.

package main

import (
    "html/template"
    "net/http"
    "github.com/go-martini/martini"
)

func main() {
    m := martini.Classic()
    m.Get("/", func(res http.ResponseWriter, req *http.Request) { // res and req are injected by Martini
        t, _ := template.ParseFiles("form.gtpl")
        t.Execute(res, nil)
    })

    m.Get("/results", func(r *http.Request) string {
        text := r.FormValue("text")
        return text
    })
    m.Run()
}

и шаблон: form.gtpl

<html>
<head>
<title>Title Here</title>
</head>
<body bgcolor="#E6E6FA">
<h1>Header Here</h1>
<form action="/results" method="POST">
    Date: <input type="text" name="dated" size="10" value="01/12/2015">        
    Triggers: <input type="text" name="triggers" size="100" value="Trigger1|Trigger2"><br><br>
    <textarea name ="text" rows="20" cols="150">random text here
</textarea>
    <input autofocus type="submit" value="Submit">
</form>
</body>
</html>

2 ответа

Решение

Обратите внимание, что в вашей форме вы указали method="POST", но в коде сервера у вас есть m.Get("/results",...), Эта строка должна быть m.Post("/results",...), Мартини пытается направить запрос, но нет определения для POST /results только GET /results

Изменил m.GET на m.POST, и вуаля исправлена.

Другие вопросы по тегам