我使用 angular 來獲取信息注冊 html 并且我發布到路徑 api 它工作但打印單詞“工作”并且我無法在正文中獲得價值并且我測試路徑后使用郵遞員它顯示名字............ ..................................................... ..................................................... ..................................服務器.gopackage mainimport ( "github.com/gorilla/handlers" "github.com/gorilla/mux" "net/http")func main() { router := mux.NewRouter() router.HandleFunc("/register", Createuser).Methods("POST") headers := handlers.AllowedHeaders([]string{"X-Requested-With", "Content-Type", "Authorization"}) methods := handlers.AllowedMethods([]string{"GET", "POST", "PUT", "DELETE"}) origins := handlers.AllowedOrigins([]string{"*"}) http.ListenAndServe(":12345", handlers.CORS(headers, methods, origins)(router))}func Createuser(writer http.ResponseWriter, request *http.Request) { request.ParseForm() print(request.FormValue("firstName")) print("work")}
1 回答

大話西游666
TA貢獻1817條經驗 獲得超14個贊
我認為可能是您的 go 服務器期望content-type: application/x-www-form-urlencoded
https://golang.org/pkg/net/http/#Request.ParseForm
但是 Angular 將表單作為 json 對象提交。
要調試正在發生的事情,請檢查從 chrome 到后端的傳出響應通過在 chrome devtools 的設置菜單中啟用“Log XmlHttpRequest”來執行此操作。
然后您應該能夠確定正文是 JSON。
嘗試使用它來解析正文
func test(rw http.ResponseWriter, req *http.Request) {
decoder := json.NewDecoder(req.Body)
var t test_struct
err := decoder.Decode(&t)
if err != nil {
panic(err)
}
log.Println(t.Test)
}
- 1 回答
- 0 關注
- 147 瀏覽
添加回答
舉報
0/150
提交
取消