91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Golang怎么接收前端的參數

發布時間:2020-03-20 16:03:48 來源:億速云 閱讀:1651 作者:小新 欄目:編程語言

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(&params)

    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怎么接收前端的參數的詳細內容,如果想了解更多請關注億速云行業資訊的其它相關文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

广宗县| 通城县| 罗平县| 海兴县| 庐江县| 泰州市| 洛扎县| 茌平县| 天气| 荆门市| 凤山市| 双辽市| 越西县| 承德市| 阳春市| 聂拉木县| 镶黄旗| 汝阳县| 奉化市| 容城县| 鹤岗市| 曲沃县| 肇源县| 锡林郭勒盟| 永年县| 永德县| 聂荣县| 桐城市| 弥勒县| 南昌市| 玉门市| 大足县| 大同县| 岑溪市| 兴海县| 武冈市| 深泽县| 临武县| 沙雅县| 九江县| 开封市|