Gin框架中的PostForm用法

最近重新在学习一下gin的:

这边学到一个新的PostForm(),就是用来获取前端输入的字符串用的

贴代码:

package main

import (
	"fmt"
	"github.com/gin-gonic/gin"
)

func main() {
	r := gin.Default()
	r.POST("/api/test", func(ctx *gin.Context) {
		name := ctx.PostForm("姓名")
		fmt.Println("姓名:", name)
		age := ctx.PostForm("年龄")
		fmt.Println("年龄:", age)
		ctx.JSON(200, "这边获取到:"+name+"  "+age)
	})
	r.Run(":8090")
}

这边开启后:

用postman进行测试:

这里需要注意,这里和之前的shouldbind不一样的地方是:

 是在Body下面的x-www-form-url进行输入参数的,而不是用之前的Params进行数据传入:

 

了通过URL查询参数提交数据到服务器外,常用的还有通过Form表单的方式。Form表单相比URL查询参数,用户体验好,可以承载更多的数据,尤其是文件上传,所以也更为方便。

Form 表单

对于Form表单,我们不会陌生,比如input文本框、密码框等等,可以让我们输入一些数据,然后点击「保存」、「提交」等按钮,把数据提交到服务器的。

对于Form表单来说,有两种提交方式GET和POST。其中GET方式就是我们前两篇文章的URL查询参数的方式,参考即可获得对应的参数键值对,这篇文章主要介绍POST的方式的表单,而Gin处理的也是这种表单。

如果一定要用c.PostForm() headers必须为x-www-form-urlencoded

go语言的特点

  • 语法简洁

    Go 语言简单易学,学习曲线平缓,不需要像 C/C++ 语言动辄需要两到三年的学习期。Go 语言被称为“互联网时代的C语言”。Go 语言的风格类似于C语言。其语法在C语言的基础上进行了大幅的简化,去掉了不需要的表达式括号,循环也只有 for 一种表示方法,就可以实现数值、键值等各种遍历。

  • 代码风格统一

    Go 语言提供了一套格式化工具——go fmt。一些 Go 语言的开发环境或者编辑器在保存时,都会使用格式化工具进行修改代码的格式化,这样就保证了不同开发者提交的代码都是统一的格式。

  • 执行性能好

    Go语言是一门编译型的语言,我们编写好的代码直接编译成服务器可以执行的二进制可执行文件。

  • 开发效率高

    Go语言虽然是一门编译型的语言,但是它内置了垃圾回收机制,降低了开发者的心智负担,使其拥有像Python、PHP等解释性语言的一样的开发效率。真正实现了开发效率和执行效率的完美结合。

  • 天生支持并发

    Go于2009年发布,当时多核处理器已经上市。Go语言在多核并发上拥有原生的设计优势,Go语言从底层原生支持并发,无须第三方库、开发者的编程技巧和开发经验。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Gin框架,并不存在`onsubmit`这个概念,因为Gin框架是一个后端框架,主要用于处理HTTP请求和响应。如果您需要在前端页面使用`onsubmit`事件,可以使用HTML的`form`元素来实现。 以下是一个使用HTML表单和`onsubmit`事件的例子: ```html <form action="/api/user" method="POST" onsubmit="submitForm(event);"> <label for="username">Username:</label> <input type="text" id="username" name="username"> <label for="password">Password:</label> <input type="password" id="password" name="password"> <input type="submit" value="Submit"> </form> <script> function submitForm(event) { event.preventDefault(); // 阻止表单的默认提交行为 // 获取表单数据 var username = document.getElementById('username').value; var password = document.getElementById('password').value; // 使用AJAX发送POST请求 $.ajax({ url: '/api/user', method: 'POST', data: { username: username, password: password }, dataType: 'json', success: function(data) { // 处理成功响应 console.log('User created:', data); }, error: function(jqXHR, textStatus, errorThrown) { // 处理错误情况 console.error('Error:', textStatus, errorThrown); } }); } </script> ``` 在这个例子,我们定义了一个HTML表单,并使用`onsubmit`事件来触发`submitForm`函数。在函数,我们使用`event.preventDefault()`方法来阻止表单的默认提交行为,然后获取表单数据并使用AJAX发送POST请求。当成功接收到响应后,我们可以在`success`回调函数处理响应数据。在上面的例子,我们只是简单地将用户创建信息输出到控制台,但您可以根据需要进行其他处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值