您好,登錄后才能下訂單哦!
Golang怎么接收前端的參數?其實并不是特別的難,只需要使用Golang開發web后臺,需要接收前端傳來的參數并作出響應就可以了,下面小編給你詳細講解吧。
Golang怎么接收前端的參數
1、首先,創建一個Golang web服務。
package main import ( "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
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> Golang GET&POST </body> </html>
2、然后編寫前端get post請求,使用了axios庫,請自行引入。
<script> axios.get('/testGet', { params: { id: 1, } }).then((response) => { console.log(response); }); // POST數據 const postData = { username: 'admin', password: '123', }; axios.post('/testPostJson', postData).then((response) => { console.log(response); }); </script>
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=%s\n", 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=%s\n", params["username"], params["password"]) fmt.Fprintf(writer, `{"code":0}`) } func main() { // ... http.HandleFunc("/testPostJson", handlePostJson) // ... }
服務端打印如下:
POST json: username=admin, password=123
以上就是Golang怎么接收前端的參數的詳細內容,如果想了解更多請關注億速云行業資訊的其它相關文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。