SpringBoot 通过AJAX获取参数的方式 List集合
声明:
GET和POST方式我将所有我能想到的组合都进行了一边测试,发现GET只能传递不含有List<自定义类型>的JSON数据
POST没有限制。
前端:
<script type="text/javascript">
var json={username:"zangsan",password:"123456",favs:["football","running"]}
console.log(encodeURI((JSON.stringify(json))));
$.ajax({url: 'test1',type: "GET",traditional:true,data: json,success: function (data) {},contentType: "application/json;charset=UTF-8"
});json={username:"zangsan",password:"123456",favs:["football","running"],friends:[{name:"ho",age:10},{name:"zz",age:12}]}
$.ajax({url: 'test2',type: "POST",data: JSON.stringify(json),success: function (data) {},contentType: "application/json;charset=UTF-8"
});
</script>
注意点:
1)GET 请求发送的并不是JSON字符串,jquery会给他转成url的请求参数
2)traditonal:true 不能省,这是防止浏览器将集合参数名为"favs[]"这样后台会报错
3)POST请求的JSON.stringify不能省略
4)至于contentType大家都说不能省,但是我发现还是可以省略的(chrome浏览器测试的)
java后台
/*** GET 获取请求,注意这里获取的并不是json,就是普通的参数* @param users*/@GetMapping("/test1")@ResponseBodypublic void test1( User user){System.out.println(user.getUsername());System.out.println(user.getFavs());System.out.println(user.getFriends());}/*** post 返送来的JSON字符串处理* @param users*/@PostMapping("/test2")@ResponseBodypublic void test2(@RequestBody User user){System.out.println(user.getUsername());System.out.println(user.getFavs());System.out.println(user.getFriends());}
public class Friends {public String name;public Integer age;
}
public class User {public String username;public String password;private List<String> favs;private List<Friends> friends;
}
注意点:
1)GET按照普通参数获取方式获取,这里并没有什么注解需要注意,但有一点@ResponseBody不能省,这是ajax请求处理必须要做的事情,而@RequestBody不要加,加了会抛异常
2)POST这里@RequestBody必加
我想这里变的问题无非就是要搞清楚jquery的ajax方式传递ajax请求数据的格式
再就是研究一下SpringMVC的获取ajax请求参数处理上的问题,想要搞清除,就得看源码。以后有时间在做。
SpringBoot 通过AJAX获取参数的方式 List集合相关推荐
- springboot 中 Getmapping获取参数的方式
Springboot中Getmapping使用PathVariable.HttpServletRequest.RequestParam获取参数 @PathVaribale 获取url中的数据 @Req ...
- request.getParameter和SpringMVC后台控制层获取参数的方式
**1. request.getParameter** 转载于:http://blog.csdn.net/moreorless/article/details/4199677 一. 简单的对比 req ...
- springbootGetmapping获取参数的方式
Springboot中Getmapping使用PathVariable.HttpServletRequest.RequestParam获取参数 今天在学习Springboot中遇得到了一个问题,放一段 ...
- Request获取参数封装方式
浏览器请求界面 1.获取参数手动封装数据 @WebServlet("/ServletDemo4") public class ServletDemo4 extends HttpSe ...
- gin ajax 获取请求参数,gin请求参数处理
本章介绍Gin框架获取请求参数的方式 1.获取Get 请求参数 Get请求url例子:/path?id=1234&name=Manu&value=111 获取Get请求参数的常用函数: ...
- django ajax传参数
获取参数: param= json.loads(request.body.decode('utf-8')) # file_name= param["filename"] 传递参数: ...
- 【第二十二讲】获取参数名
[第二十二讲]获取参数名 文章目录 [第二十二讲]获取参数名 将 `Bean2.java` 编译后,失去参数 加 `-parameters` 编译后有参数 加 `-g` 编译后有参数 获取参数 封装接 ...
- jsp怎么接受ajax请求参数,通过ajax发送JSON并通过JSP中的请求获取参数
我需要通过ajax(使用Jquery)发送JSON对象,并通过JSP(服务器端)中的请求对象获取所有参数.通过ajax发送JSON并通过JSP中的请求获取参数 我的JS代码: var request ...
- ajax获取后台数据的几种方式及如何获取ajax内部的数据供外部使用
文章目录 1 ajax获取后台数据的几种方式 1.1 原生js的ajax方式 1.1.1 get 1.1.2 post 1.2 jQuery封装的ajax方式 1.2.1 $.ajax 1.2.2 $ ...
最新文章
- 3D-HEVC视频编码技术
- html 选中tag标签,HTML Tag Selector标签选择器PFC020071801
- python中文编码正则_python的unicode编码问题(以正则表达式为例)
- javasript 面向对象
- java8根据某个id删选_Java 8可选
- 【渝粤题库】广东开放大学 现代服务学概论 形成性考核 (2)
- 图形化界面客户端连接phoenix操作hbase
- SpringCloud04 服务配置中心、消息总线、远程配置动态刷新
- javascript 事件冒泡处理方式
- 最容易“杀死”女人的30句话
- SAP GUI 710 PATCH 12 下载地址
- C语言程序设计的七个准备步骤
- PS选择工具/魔棒工具详
- 科创板交易规则知多少
- 内网禁用u盘 远程协助_如何在Windows 10中禁用远程协助
- 湖北科目三驾考经验总结
- matlab 有一函数 _写一程序_输入自变量的值_输出函数值.,第2讲 MATLAB入门1_数学建模_ppt_大学课件预览_高等教育资讯网...
- 保护手机隐私最关键是提高全民信息安全意识
- 雷军在联想演讲:全场无言,除了掌声
- equest和requestScope的区别