gpt4 book ai didi

go - 如何在 Go lang 中获取 ajax 发布请求值?

转载 作者:IT老高 更新时间:2023-10-28 13:05:39 25 4
gpt4 key购买 nike

我在 Go 中工作。以下代码处理客户端请求。

package main

import (
"net/http"
"fmt"
)

func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "<html><head><script>function createGroup(){var xmlhttp,number = document.getElementById('phoneNumber').value,email = document.getElementById('emailId').value; var values = {}; values.number = phoneNumber; values.email= emailId; if (window.XMLHttpRequest){xmlhttp=new XMLHttpRequest();}else{xmlhttp=new ActiveXObject('Microsoft.XMLHTTP');}xmlhttp.open('POST','createGroup',true);xmlhttp.send(values.toString());}</script></head><body><h1>Group</h1><input type='text' name='phoneNumber' id='phoneNumber'/><input type='email' id='emailId' name='emailId'/><button onClick='createGroup()'>Create Group</button></body></html>")
})
http.HandleFunc("/createGroup",func(w http.ResponseWriter, r *http.Request) {
fmt.Println(r)
//Try to get the user information
})
panic(http.ListenAndServe(":8080", nil))
}

注意

Client: 包含获取电话号码emailcreateGroup按钮的两个文本框。

  1. 如果用户点击createGroup,使用ajax触发/createGroup的Post请求。

  2. createGroup 请求在 server(Go) 中处理

问题

如何在服务器端获取电话号码和邮箱?

我已在 /createGroup 处理程序中打印了请求,但缺少值。

Output: &{POST /createGroup HTTP/1.1 1 1 map[Accept:[text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8] Accept-Encoding:[gzip, deflate] Content-Length:[15] Content-Type:[text/plain; charset=UTF-8] Connection:[keep-alive] Pragma:[no-cache] Cache-Control:[no-cache] User-Agent:[Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:25.0) Gecko/20100101 Firefox/25.0] Accept-Language:[en-US,en;q=0.5] Referer:[http://localhost:8080/]] 0xc200099ac0 15 [] false localhost:8080 map[] map[] <nil> map[] 127.0.0.1:59523 /createGroup <nil>}

任何帮助将不胜感激。

最佳答案

使用 ParseFormr.FormValue ,例如:

http.HandleFunc("/createGroup",func(w http.ResponseWriter, r *http.Request) {
r.ParseForm()
fmt.Println(r.Form)
fmt.Println(r.FormValue("email"))
})

关于go - 如何在 Go lang 中获取 ajax 发布请求值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23197206/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com