go语言实现处理表单输入

login.html

代码如下:

<html>
<head><title></title></head>
<body>
    <form action="http://localhost:9090/login" method="post">
        用户名:<input type="text" name="username">
        密  码:<input type="text" name="password">
        <input type="submit" value="登录">
    </form>
</body>
</html>

main.go

代码如下:

package main
import (
    "fmt"
    "html/template"
    "log"
    "net/http"
    "strings"
)
func sayHelloName(w http.ResponseWriter, r *http.Request) {
    // 解析url传递的参数
    r.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)
        // join() 方法用于把数组中的所有元素放入一个字符串。
        // 元素是通过指定的分隔符进行分隔的
        fmt.Println("val:", strings.Join(v, ""))
    }
    // 输出到客户端
    fmt.Fprintf(w, "hello astaxie!")
}
func login(w http.ResponseWriter, r *http.Request) {
    fmt.Println("method:", r.Method)
    if r.Method == "GET" {
        t, _ := template.ParseFiles("login.html")
        // 执行解析模板
        // func (t *Template) Execute(wr io.Writer, data interface{}) error {
        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)
    }
}

以上所述就是本文的全部内容了,希望大家能够喜欢。

(0)

相关推荐

  • google输入法和dreamweaver冲突了总是出错自动关闭郁闷

    google输入法刚出来的时候和fireworks出现冲突[详见],前几天推出的1.0.20 .0新版本,发现又和dreamweaver出现了冲突.Dreamweaver代码编辑区,由英文输入法切换到google拼音的时候出现了下面的问题,又被强制关掉了.想起了紫光拼音4.0版本,也是和DW冲突,DW到底得罪谁了?

  • 文本框输入时 实现自动提示(像百度、google一样)

    只要有三个文件: 一个js插件autocomplete.js和autocomplete.css两个文件,这是jquery官方网站提供的插件: 他们的下载地址:http://jqueryui.com/demos/autocomplete/ 一个是一般处理程序 : 一个是apsx页面,看下面的代码吧; 前台: 复制代码 代码如下: <script type="text/javascript"> $(document).ready(function() { ShowUserLis

  • go语言实现处理表单输入

    login.html 复制代码 代码如下: <html> <head><title></title></head> <body>     <form action="http://localhost:9090/login" method="post">         用户名:<input type="text" name="username&qu

  • javascript巧用eval函数组装表单输入项为json对象的方法

    本文实例讲述了javascript巧用eval函数组装表单输入项为json对象的方法.分享给大家供大家参考,具体如下: 在ajax方式做web开发时,经常会遇到会保存前,收集表单输入项,组成json对象,然后把对象直接post到服务端的场景 常规做法是在js里写类似如下的代码: var myObj = {}; myObj.x = document.getElementById("x").value; myObj.y = document.getElementById("y&q

  • jquery实现表单输入时提示文字滑动向上效果

    本文实例讲述了jquery实现表单输入时提示文字滑动向上效果.分享给大家供大家参考.具体如下: 这里基于jQuery实现的表单输入框提示效果,当不输入的时候,提示文字就显示在输入框中,当鼠标点击文本框要输入文字的时候,提示文字向滑出输入框,好像很个性也很智能的样子,用户体验比较不错,运用了CSS3的部分属性,因此在测试时,请尽量要用高版本的IE9或chrome和火狐等网页浏览器. 运行效果截图如下: 具体代码如下: <!doctype html> <html> <head&g

  • Vue学习笔记之表单输入控件绑定

    表单输入绑定 基础用法 文本 <input v-model:"msg" placeholder="edit me"/> ### 多行文本 <textarea name="" id="" cols="30" rows="10" v-model:"msg"></textarea> ### 复选框 爱好 <input type=&q

  • PHP简单处理表单输入的特殊字符的方法

    本文实例讲述了PHP简单处理表单输入的特殊字符的方法.分享给大家供大家参考,具体如下: <html> <body> <?php if ($_POST['submitted'] == "yes"){ $yourname = $_POST['yourname']; $yourname = trim ($yourname); $yourname = strip_tags ($yourname); $yourname = htmlspecialchars ($yo

  • Vue.js自定义事件的表单输入组件方法

    Vue.js使用自定义事件的表单输入组件 自定义事件可以用来创建自定义的表单输入组件,使用 v-model 来进行数据双向绑定.要牢记: <input v-model="something"> 这不过是以下示例的语法糖: <input v-bind:value="something" v-on:input="something = $event.target.value"> 所以在组件中使用时,它相当于下面的简写: <

  • vue 表单输入格式化中文输入法异常问题

    v-model 是 vue.js 提供的语法糖,根据不同的表单控件监听不同的事件,实现对表单控件的数据双向绑定. 当控件是 <input> 输入框时,v-model 监听其 input 事件. 如下所示,这两种写法有什么区别吗? <input :value="name" @input="name = $event.target.value"><input v-model="name"> 输入中文格式化问题 表单

  • Flutter质感设计之表单输入

    FormField控件是单一表单字段,这个控件维护表单字段的当前状态,以便更新和验证错误能在UI中可见.TextField控件就是在FormField中包装了一个Input控件(后面的文章讲解),FormField维护输入的当前值,使您不需要自己管理它,更容易一次保存,重置或验证多个字段. import 'package:flutter/material.dart'; class MyApp extends StatefulWidget { @override _MyApp createStat

  • vue使用自定义事件的表单输入组件用法详解【日期组件与货币组件】

    本文实例讲述了vue使用自定义事件的表单输入组件用法.分享给大家供大家参考,具体如下: 自定义事件可以用来创建自定义的表单输入组件,使用 v-model 来进行数据双向绑定. v-model的实现原理 : <input v-model="something"> 这不过是以下示例的语法糖: <input v-bind:value="something" v-on:input="something = $event.target.value&

  • Vue 表单输入绑定v-model

    目录 1.v-model 2.绑定的属性和事件 3.表单元素绑定 3.1 input绑定 3.2 textarea绑定 3.3 checkbox绑定 3.4 radio绑定 3.5 select绑定 4.值绑定 4.1 代码详解 5.修饰符 5.1 .lazy 5.2 .number 5.3 .trim 1.v-model v-model指定可以实现表单值与属性的双向绑定.即表单元素中更改了值会自动的更新属性中的值,属性中的值更新了会自动更新表单中的值 2.绑定的属性和事件 v-model在内部

随机推荐