Golang如何接收前端的参数
1、首先,创建一个Golang web服务。
package mainimport ( "log" "fmt" "net/http" "html/template")// 返回静态页面func handleIndex(writer http.ResponseWriter, request *http.Request) { t, _ := template.ParseFiles("index.html") t.Execute(writer, nil)}func main() { http.HandleFunc("/", handleIndex) fmt.Println("Running at port 3000 ...") err := http.ListenAndServe(":3000", nil) if err != nil { log.Fatal("ListenAndServe: ", err.Error()) }}index.html
document Golang GET&POST
2、然后编写前端get post请求,使用了axios库,请自行引入。
3、接着,在Golang中实现接收get post参数即可。
一、Golang接收前端GET请求的参数
// 处理GET请求func handleGet(writer http.ResponseWriter, request *http.Request) { query := request.URL.Query() // 第一种方式 // id := query["id"][0] // 第二种方式 id := query.Get("id") fmt.Printf("GET: id=%sn", id) fmt.Fprintf(writer, `{"code":0}`)}func main() { // ... http.HandleFunc("/testGet", handleGet) // ...}服务端打印如下:
GET: id=1
二、Golang接收前端POST请求的参数
// 引入encoding/json包import ( // ... "encoding/json")// 处理application/json类型的POST请求func handlePostJson(writer http.ResponseWriter, request *http.Request) { // 根据请求body创建一个json解析器实例 decoder := json.NewDecoder(request.Body) // 用于存放参数key=value数据 var params map[string]string // 解析参数 存入map decoder.Decode(¶ms) fmt.Printf("POST json: username=%s, password=%sn", params["username"], params["password"]) fmt.Fprintf(writer, `{"code":0}`)}func main() { // ... http.HandleFunc("/testPostJson", handlePostJson) // ...}服务端打印如下:
POST json: username=admin, password=123
更多golang知识请关注PHP中文网golang教程栏目。
以上就是Golang如何接收前端的参数的详细内容,更多请关注考高分网其它相关文章!



