企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
在 API 的开发中,我们经常会用到 JSON 或 XML 来作为数据交互的格式,这就需要获取request的body中的数据了 * 在配置文件里设置 copyrequestbody = true * 在 Controller 中获取数据: ~~~ var stu Student   //struct类型 body := s.Ctx.Input.RequestBody     // 这是获取到的json二进制数据 json.Unmarshal(body,&stu)         // json解析位结构体 user := &Student{Name: stu.Name, Age: stu.Age,Addr:stu.Addr}   // 赋值 ​ s.Data["json"] = map[string]interface{}{"result": true, "msg": "success"}   // 返回map结构数据 fmt.Println(user) s.ServeJSON()       // 返回json格式 ​ ​ 注意: s.Data["json"]这里必须叫json,因为s.ServeJSON()解析json变量的 ~~~ 前端: ~~~ 需要引入jquery的js文件: <script src="/static/js/jquery.min.js"></script> ​ <form>       用户名:<input type="text" name="username" id="username"><br>       年龄:<input type="text" name="age" id="age"><br>       住址:<input type="text" name="addr" id="addr"><br>       <input type="button" value="提交" id="btn"><br> ​ </form> ​ <script>   var btn = document.getElementById("btn");   btn.onclick = function (ev) {       ev.preventDefault();       var username = document.getElementById("username").value;       var age = document.getElementById("age").value;       var addr = document.getElementById("addr").value; ​       $.ajax({           url: "/student",           type: "POST",           //这才是最重要的地方,必须用JSON.stringify序列化成字符串,           data: JSON.stringify({               "Name":username,               "Age":Number(age),       如果是int类型,前端得转一下               "Addr":addr           }),           //json格式           dataType: "JSON", ​           success:function (data) {               var messg=data.msg;               alert(messg)           },           error:function (error) {               alert(error.msg)           }       })   } ​ </script> ~~~