gofiber: 获取参数
一,得到?后的get参数:
用Query方法
id := c.Query("id", "0")
例子:
/article/detail?id=1234
得到所有get参数:
params := c.Queries()
fmt.Println("Queries:参数:")
fmt.Println(params)
二,得到路由参数:
name := c.Params("name")
例子: 路由:
/user/:name
实际参数:
/user/tomwang
得到所有路由参数:
func (c *Ctx) AllParams() map[string]string
例子:
// GET http://example.com/user/fenny
app.Get("/user/:name", func(c *fiber.Ctx) error {
c.AllParams() // "{"name": "fenny"}"
// ...
})
// GET http://example.com/user/fenny/123
app.Get("/user/*", func(c *fiber.Ctx) error {
c.AllParams() // "{"*1": "fenny/123"}"
// ...
})
三,得到post参数:
username := c.FormValue("username", "")
password := c.FormValue("password", "")
例子:
postdata = {
username: $('#uname').val(),
password:$('#upass').val(),
};
//通过ajax登录
var url = "/user/login";
$.ajax({
type: 'POST',
url: url, // 指定请求的URL
data: postdata,
dataType: 'json', // 指定数据类型为JSON
success: function(data) {
// 请求成功后的回调函数
console.log("成功");
console.log(data); // 输出获取到的JSON数据
if (data.status=='success') {
alert('登录成功,开始跳转');
//跳转到新地址
var gourl="/user/index"
window.location.href = gourl;
} else {
alert('登录失败:'+data.message)
}
},
error: function(jqXHR, textStatus, errorThrown) {
console.log("失败");
// 请求失败后的回调函数
console.error('Error: ' + textStatus + ' - ' + errorThrown);
}
});
//得到所有post参数:
//解析c.Body()内容后可以得到参数内容:
body := c.Body()
fmt.Println("请求的body")
fmt.Println(string(body))
body2,_ := url.ParseQuery(string(body))
fmt.Println("decode后的请求body内容:")
fmt.Println(body2)