Golang接收前端的get、post参数如何实现,方法是什么
导读:这篇文章主要给大家介绍“Golang接收前端的get、post参数如何实现,方法是什么”的相关知识,下文通过实际案例向大家展示操作过程,内容简单清晰,易于学习,有这方面学习需要的朋友可以参考,希望这篇“Golang接收前端的get、post...
这篇文章主要给大家介绍“Golang接收前端的get、post参数如何实现,方法是什么”的相关知识,下文通过实际案例向大家展示操作过程,内容简单清晰,易于学习,有这方面学习需要的朋友可以参考,希望这篇“Golang接收前端的get、post参数如何实现,方法是什么”文章能对大家有所帮助。
使用Golang开发web后台,需要接收前端传来的参数并作出响应,那么Golang该如何接收前端的参数呢?一起来看下吧。
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接收前端的get、post参数如何实现,方法是什么”的文章就介绍到这了,感谢各位的阅读,更多相关Golang接收前端的get、post参数如何实现,方法是什么内容,欢迎关注网络资讯频道,小编将为大家输出更多高质量的实用文章!
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Golang接收前端的get、post参数如何实现,方法是什么
本文地址: https://pptw.com/jishu/653829.html
