Heim >Backend-Entwicklung >Golang >Wie Golang Front-End-Parameter empfängt

Wie Golang Front-End-Parameter empfängt

angryTom
angryTomOriginal
2020-03-18 13:46:105977Durchsuche

Wenn Sie Golang zum Entwickeln eines Web-Backends verwenden, müssen Sie Parameter vom Frontend empfangen und antworten. Wie empfängt Golang die Parameter vom Frontend? Werfen wir gemeinsam einen Blick darauf.

Wie Golang Front-End-Parameter empfängt

Wie Golang Front-End-Parameter empfängt

Erstellen Sie zunächst einen Golang-Webdienst.

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. Schreiben Sie dann die Front-End-Get-Post-Anfrage unter Verwendung der Axios-Bibliothek. Bitte stellen Sie sie selbst vor.

<script>
  axios.get(&#39;/testGet&#39;, {
    params: {
      id: 1,
    }
  }).then((response) => {
    console.log(response);
  });
  
  // POST数据
const postData = {
  username: &#39;admin&#39;,
  password: &#39;123&#39;,
};

axios.post(&#39;/testPostJson&#39;, postData).then((response) => {
  console.log(response);
});
</script>

3. Als nächstes implementieren Sie einfach den Parameter „Get Post“ in Golang.

1. Golang empfängt die Parameter der Front-End-GET-Anfrage

// 处理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)

    // ...
}

Der Server druckt wie folgt:

GET: id=1

2 , Golang empfängt die Parameter der Front-End-POST-Anfrage

// 引入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)

    // ...
}

Der Server druckt wie folgt:

POST json: username=admin, password=123

Für weitere Golang-Kenntnisse zahlen Sie bitte Beachten Sie die PHP-Chinese-WebsiteGolang-TutorialSpalte.

Das obige ist der detaillierte Inhalt vonWie Golang Front-End-Parameter empfängt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Wie Golang Eingaben erhältNächster Artikel:Wie Golang Eingaben erhält