获取前端传来的参数

获取数据并转为对应的类型

- ?id=111&id=122
c.GetInt("id")
int,111 - ?id=111&id=122
c.GetBool("id")
bool,false - ?id=111&id=122
c.GetString("id")
string,"111" - ?id=111&id=122
c.GetStrings("id")
[]string,[]string{"111", "122"} - ?id=111&id=122
c.Input().Get("id")
string,"111"

解析表单

  • c.ParseForm 直接解析到 struct
type user struct {
Id int `form:"-"`
Name interface{} `form:"name"`
Age int `form:"age"`
Email string
} func (c *MainController) Post() {
u := user{}
c.ParseForm(&u) fmt.Printf("%T,%#v\n", u, u)
c.Ctx.WriteString("hello")
}

解析Request Body

  • 获取 Request Body 里的内容
type user struct {
Id int `json:"-"`
Name interface{} `json:"name"`
Age int `json:"age"`
Email string
} func (c *MainController) Post() {
var u user
json.Unmarshal(c.Ctx.Input.RequestBody, &u)
fmt.Printf("%T,%#v\n", u, u)
c.Ctx.WriteString("hello")
}

上传文件

<form enctype="multipart/form-data" method="post" action="http://localhost:8080/">
<input type="file" name="uploadname" />
<input type="submit">
</form> func (c *MainController) Post() {
f, h, err := c.GetFile("uploadname")
if err != nil {
log.Fatal("getfile err ", err)
}
fmt.Printf("%T,%#v\n", f, f)
defer f.Close()
c.SaveToFile("uploadname", "static/upload/" + h.Filename) // 保存位置在 static/upload, 没有文件夹要先创建
c.Ctx.WriteString("post")
}

后端返回数据到前端

  • 返回字符串
c.Ctx.WriteString("<h1>hello world</h1>")
  • 返回模板html
c.Data["name"] = "mm"
c.Data["age"] = 22
c.TplName = "user.html" <body>
<h1>user</h1>
{{.name}}
{{.age}}
</body>
  • 返回json
type user struct {
Name string `json:"name"`
Age int `json:"age"`
Birth time.Time `json:"birth"`
} func (u *UserController) Get() {
var p1 = &user{
Name: "mm",
Age: 22,
Birth: time.Now(),
} u.Data["json"] = p1
u.ServeJSON()
}

[go]beego获取参数/返回参数的更多相关文章

  1. beego获取用户请求参数的方法

    我们经常需要获取用户传递的数据,包括 Get.POST 等方式的请求,beego 里面会自动解析这些数据,你可以通过如下方式获取数据: GetString(key string) string Get ...

  2. loadrunner获取接口返回参数(包括body,headers等)

    Action() { web_set_max_html_param_len("); // 默认最大长度为256 web_reg_save_param("ResponseBody&q ...

  3. 百度统计api 关于搜索引擎返回参数问题

    当 post 的参数: 返回参数为: 很显然没有搜索引擎的相关名称返回,无法分辨相关引擎的数据量: 改:去掉 gran 参数 正常: 关于百度统计文档有很多模糊不清的地方,可以发邮件给官方了解,一般处 ...

  4. 对接第三方支付接口-获取http中的返回参数

    这几天对接第三方支付接口,在回调通知里获取返回参数,有一家返回的json格式,请求参数可以从标准输入流中获取. //1.解析参数 , 读取请求内容 BufferedReader br; String ...

  5. SubSonic3.0使用存储过程查询时,不能使用output参数返回值的问题修改

    有个群友问SubSonic3.0执行存储过程时能不能使用output参数返回值,说测试过后获取不到返回值,早上有些时间所以就尝试修改了一下 首先在数据库中创建一个存储过程 CREATE PROCEDU ...

  6. Javascript 获取链接(url)参数的方法

    有时我们需要在客户端获取链接参数,一个常见的方法是将链接当做字符串,按照链接的格式分解,然后获取对应的参数值.本文给出的就是这个流程的具体实现方法. 当然,我们也可以用正则直接匹配,文章中也给出了一个 ...

  7. Js获取指定Url参数

    在 C#.PHP.JSP 中,都有直接获取 Url 中指定参数的方法,但 Javascript 却没有这样的现在方法,得自己写一个.在 Web 的开发过程中,获取 Url 中的参数是十分常用的操作,所 ...

  8. jqure 获取地址栏的参数

    从一个页面跳转到另外一个页面传参,我们用jqure得到参数需要两部分: 处理浏览器地址栏参数的方法: function GetQueryString(name) { var reg = new Reg ...

  9. Asp获取网址相关参数大全

      Asp获取网址相关参数大全 代码一:[获取地址中的文件名,不包含扩展名]<%dim Url,FileName,File Url=split(request.servervariables(& ...

随机推荐

  1. 关于一个指针的题目解析(a,&a,(int*)&a,(int*)((char*)&a + 4))

    #include <stdio.h> void main() { ] = {}; printf(]); printf("\n"); printf("a[1] ...

  2. 5.java动态代理、反射

    1.java动态代理.反射(IDEA导入JUnit4) 1.1.反射 通过反射的方式可以获取class对象中的属性.方法.构造函数等 1.2.反射代码 import java.io.Serializa ...

  3. jQuery获取表单全部数据

    iQuery如何获取表单的全部数据,用于ajax提交 var formData = {}; var t = $('#Form').serializeArray(); $.each(t, functio ...

  4. List集合删除方法

    class Program { private static Random random = new Random((int)DateTime.Now.Ticks); static void Main ...

  5. DP tricks and experiences

    [LeetCode] 关于动态规划的经验与技巧. 很多时候多分配一位空间是为了递推的方便,例如前推两位. 辅助数组的索引,用到的可能是 1 — N,或者是 0 — N-1. 具体要看清 f[i] 每一 ...

  6. Laravel技巧集锦(16):使用DB::listen查找慢SQL

    1.AppServiceProvider.php中 \DB::listen(function ($query){ $sql = $query->sql; $bindings = $query-& ...

  7. 初始Ajax学习笔记

    前端: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <!--引入 ...

  8. Legendre公式和Kummer定理

    Legendre公式 对于质数\(p\),函数\(v_p(n)\)为\(n\)标准分解后\(p\)的次数 显然有 \[v_p(n!) = \sum\limits_{i = 1}^{\infty} \l ...

  9. pytorch tensor 维度理解.md

    torch.randn torch.randn(*sizes, out=None) → Tensor(张量) 返回一个张量,包含了从标准正态分布(均值为0,方差为 1)中抽取一组随机数,形状由可变参数 ...

  10. 【Java Web】IDEA如何创建及配置Web项目(多图)

    正文之前 在学习Java Web时,第一个遇到的问题就是如何创建或配置Web项目了,今天,就用IntelliJ IDEA 来进行Web项目配置: 创建Web项目 配置web项目 正文 创建Web项目 ...