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)

 

posted @ 2024-12-07 10:53  刘宏缔的架构森林  阅读(18)  评论(0编辑  收藏  举报