婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > go web 處理表單的輸入的說明

go web 處理表單的輸入的說明

熱門標簽:如何利用高德地圖標注家 上海企業外呼系統排名 武漢百應人工智能電銷機器人 百度地圖標注位置網站 智能語音電銷的機器人 400手機電話免費辦理 揚州電銷外呼系統軟件 開通400電話申請流程 電腦外呼系統輻射大嗎

一 目錄結構

二 前端頁面

文件名:login.html

!DOCTYPE html>
html>
head>
    title>/title>
/head>
body>
form action="/login" method="post">
    用戶名:input type="text" name="username">
    密碼:input type="password" name="password">
    input type="submit" value="登陸">
/form>
/body>
/html>

上面遞交表單到服務器的 /login,當用戶輸入信息點擊登陸之后,會跳轉到服務器的路由 login 里面。

三 后端處理

package main
 
import (
   "fmt"
   "html/template"
   "log"
   "net/http"
   "strings"
)
// 處理 sayhelloName
func sayhelloName(w http.ResponseWriter, r *http.Request) {
   r.ParseForm() // 解析 url 傳遞的參數,對于 POST 則解析響應包的主體(request body)
   // 注意: 如果沒有調用ParseForm方法,下面無法獲取表單的數據
   fmt.Println(r.Form) // 這些信息是輸出到服務器端的打印信息
   fmt.Println("path", r.URL.Path)
   fmt.Println("scheme", r.URL.Scheme)
   fmt.Println(r.Form["url_long"])
   for k, v := range r.Form {
      fmt.Println("key:", k)
      fmt.Println("val:", strings.Join(v, ""))
   }
   fmt.Fprintf(w, "Hello astaxie!") // 這個寫入到 w 的是輸出到客戶端的
}
 
// 登錄邏輯
func login(w http.ResponseWriter, r *http.Request) {
   fmt.Println("method:", r.Method) // 獲取請求的方法
   if r.Method == "GET" {
      t, _ := template.ParseFiles("src\\goweb\\demo3\\login.html") // 解析模板
      t.Execute(w, nil)                                            // 渲染模板,并發送給前端
   } else {
      // 請求的是登陸數據,那么執行登陸的邏輯判斷
      // 解析表單
      r.ParseForm()
      fmt.Println("username:", r.Form["username"])
      fmt.Println("password:", r.Form["password"])
   }
}
 
func main() {
   http.HandleFunc("/", sayhelloName)       // 設置訪問的路由
   http.HandleFunc("/login", login)         // 設置訪問的路由
   err := http.ListenAndServe(":9090", nil) // 設置監聽的端口
   if err != nil {
      log.Fatal("ListenAndServe: ", err)
   }
}

獲取請求方法是通過 r.Method 來完成的,這是個字符串類型的變量,返回 GET、POST、PUT等 method 信息。

login 函數中我們根據 r.Method 來判斷是顯示登錄界面還是處理登錄邏輯。

當 GET 方式請求時顯示登錄界面,其他方式請求時則處理登錄邏輯,如查詢數據庫、驗證登錄信息等。

四 測試

1 在瀏覽器里面打開 http://127.0.0.1:9090/login 

2 頁面顯示為

3 輸入用戶名 admin ,密碼 123456

后臺打印如下:

method: GET

map[]

path /favicon.ico

scheme

[]

method: POST

username: [admin]

password: [123456]

map[]

path /favicon.ico

scheme

[]

五 說明

Reques 本身也提供了 FormValue() 函數來獲取用戶提交的參數。如r.Form["username"]也可寫成r.FormValue("username")。調用 r.FormValue 時會自動調用 r.ParseForm,所以不必提前調用。r.FormValue 只會返回同名參數中的第一個,若參數不存在則返回空字符串。

以上就是go web 處理表單的輸入的詳細內容,更多關于go處理表單輸入的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • go語言實現處理表單輸入
  • django之從html頁面表單獲取輸入的數據實例
  • Python中使用django form表單驗證的方法
  • django1.8使用表單上傳文件的實現方法
  • Python的Django框架中forms表單類的使用方法詳解

標簽:嘉峪關 新余 武漢 延邊 江西 張掖 宜賓 黑龍江

巨人網絡通訊聲明:本文標題《go web 處理表單的輸入的說明》,本文關鍵詞  web,處理,表單,的,輸入,說明,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《go web 處理表單的輸入的說明》相關的同類信息!
  • 本頁收集關于go web 處理表單的輸入的說明的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 桓仁| 靖宇县| 巴彦县| 日喀则市| 孝义市| 茂名市| 瓦房店市| 荆州市| 伊川县| 白银市| 福州市| 定陶县| 札达县| 郑州市| 綦江县| 富阳市| 巴南区| 津市市| 保定市| 广德县| 萨嘎县| 塘沽区| 济阳县| 巴彦县| 涟水县| 洛扎县| 汉中市| 鄂尔多斯市| 阿拉善左旗| 庄河市| 黔西| 自治县| 金溪县| 常熟市| 桓仁| 延庆县| 江北区| 甘孜县| 宜春市| 嘉荫县| 阿拉善盟|