首页后端开发其他后端知识Golang接收前端的get、post参数如何实现,方法是什么

Golang接收前端的get、post参数如何实现,方法是什么

时间2024-03-26 23:28:03发布访客分类其他后端知识浏览710
导读:这篇文章主要给大家介绍“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
Golang中接收输入的方法有几种,具体用法是怎样 Golang是否可以打包为 dll?方法是什么?

游客 回复需填写必要信息