1 回答

TA貢獻1805條經(jīng)驗 獲得超9個贊
axios確實發(fā)送為json但echo尋找x-www-form-urlencoded. 在您vue添加axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'或傳遞標題中的每個axios.post
在 echo 中,您可以將c.Bind請求放入您的變量中,如下所示。這樣你就可以收到json或form(郵遞員進行測試和vue)
type SignUpForm struct {
Username string `json:"username" form:"username" query:"username"`
Email string `json:"email" form:"email" query:"email"`
Password string `json:"password" form:"password" query:"password"`
}
func SignUp(c echo.Context) error {
form := new(SignUpForm)
if err := c.Bind(form); err != nil {
return c.JSON(http.StatusBadRequest, err)
}
user := models.User{
Username: form.Username,
Email: form.Email,
Password: models.HashPassword(form.Password),
}
log.Printf("#####################")
values, _ := c.FormParams()
log.Printf("%v\n", values)
log.Printf("%v", c.Response().Header())
log.Printf("#####################")
err := database.Connection().Create(&user).Error
if err != nil {
return c.JSON(http.StatusInternalServerError, err)
} else {
return generateJwtToken(c, user)
}
}
- 1 回答
- 0 關注
- 115 瀏覽
添加回答
舉報