使用GO和Martini提交表单

时间:2014-09-25 16:15:44

标签: ajax go martini

我是GO和马提尼包中的新手。我现在尝试使用AJAX提交表单。问题是go返回整个html文件。我不知道是否有错误,因为没有错误返回。我需要测试我的表单是否成功提交数据,我将使用它将POST数据发送到API。现在只需要知道我的表单是否成功传递数据。

我有这段代码。

GO代码:

type UserSignup struct {
    Email string `form: "email"`
}

func signup_user(email string) UserSignup {
    return UserSignup {
        Email : email
    } 
}

AJAX电话:

$.ajax({
    url: '/signup',
    type: 'POST',
    success: function(data) {
                 console.log(data);
             },
    error: function(result) {
                 //general div to handle error messages
                 console.log(result.responseText);
             }
    });

MTPL代码:

<form class="form-signup" action="/signup">
    <input type="text" value="Email" name="email" class="signup-email" id="signup-email" onClick="this.setSelectionRange(0, this.value.length)">
    <input type="submit" value="Go" id="signup-go">
</form>

感谢。

1 个答案:

答案 0 :(得分:0)

表单值实际上来自http.Request,除非您使用Binding,否则它们不会传递给处理程序。

使用请求:

func signup_user(r *http.Request) {

   email := r.FormValue("email")

   return email

}

使用马丁尼绑定:

func signup_user(us UserSignup, r *http.Request) {

   email := us.Email

   return email

}