第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Go Echo 沒有從 Vue 獲取 POST 正文

Go Echo 沒有從 Vue 獲取 POST 正文

Go
楊魅力 2023-05-04 16:40:50
我有 SignUp 函數(shù)并試圖獲取由 Vue 框架發(fā)送的請求的主體,但它是空的。去type SignUpForm struct {    Username string    Email    string    Password string}func SignUp(c echo.Context) error {    form := SignUpForm{        Username: c.FormValue("username"),        Email:    c.FormValue("email"),        Password: c.FormValue("password")}    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)    }}看過 sendForm: function() {  var link = '/auth/sign_up'  axios.post(link, {    username: "test",    email: "user@gmail.com",    password: "password"  })  .then(response => {    console.log(e.response)  })  .catch(e => {    console.log(e.response)  })如果我使用 Postman,我會得到這個日志信息2018/10/27 14:11:48 #####################2018/10/27 14:11:48 map[email:[user@gmail.com] password:[password] username:[test]]2018/10/27 14:11:48 map[Vary:[Origin] Access-Control-Allow-Origin:[*]]2018/10/27 14:11:48 #####################如果我嘗試通過 Vue 發(fā)送,我什么也得不到2018/10/27 14:14:55 #####################2018/10/27 14:14:55 map[]2018/10/27 14:14:55 map[Vary:[Origin] Access-Control-Allow-Origin:[*]]2018/10/27 14:14:55 #####################我完全確定這是 go/echo 問題,因為我能夠在我的 Rails 應用程序中獲取這些參數(shù),因此 Vue 可以正確發(fā)送它們。<ActionController::Parameters {"username"=>"test", "email"=>"user@gmail.com", "password"=>"password"有任何想法嗎?
查看完整描述

1 回答

?
Cats萌萌

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)

    }

}


查看完整回答
反對 回復 2023-05-04
  • 1 回答
  • 0 關注
  • 115 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號