spring ajax前后端传递复杂参数
2017-07-27 20:07
549 查看
1、简单数据:
1.1 前端传递参数:
方式1:controller方法参数形式:
方式2:在方法体内通过 request.getParameter:
2. 传递单个对象:
2.1 前端:
传递的chatGroups是个对象
此时data部分为:
2.2 后端:
首先定义一个对应的java类
public class MessageToChatGroup {
private String chatGroupId;
private String chatGroupName;
private String avatar;
}controller:
3、传递数组:
3.1 前端:
3.2 后端:
首先定义一个与上面复杂json对象对应的java类:
1.1 前端传递参数:
$.ajax({ type: "post", url: "${pageContext.request.contextPath}/send", data: { messageContent: "世界", messageType: "1", }, success: function(data) { alert("消息已发送。"); } });1.2 后端接受参数:
方式1:controller方法参数形式:
@ResponseBody @RequestMapping(value = "/send", method = RequestMethod.POST) public void sendMessage(HttpServletRequest request, HttpServletResponse response, String messageContent, Integer messageType) { System.out.println(messageContent); }
方式2:在方法体内通过 request.getParameter:
String messageContent= request.getParameter("messageContent");
2. 传递单个对象:
2.1 前端:
传递的chatGroups是个对象
$.ajax({ type: "post", url: "${pageContext.request.contextPath}/send", data: { messageContent: messageContent, messageType: messageType, chatGroups: JSON.stringify({ "chatGroupId": "22808545525762", "chatGroupName": "陕西省", "avatar": "chatuserlogo/4006df745d3d40e591220614c69b6ac6.png" }) }, // 以json字符串方式传递, success: function(data) { alert("消息已发送。"); }, error: function(message) { alert("消息发送失败:" + message); } });chatGroups 也可以单独定义出来:
var chatGroups = { "chatGroupId": "22808545525762", "chatGroupName": "陕西省", "avatar": "chatuserlogo/4006df745d3d40e591220614c69b6ac6.png" }
此时data部分为:
data: { messageContent: messageContent, messageType: messageType, chatGroups: JSON.stringify(chatGroups) // 以json字符串方式传递, }
2.2 后端:
首先定义一个对应的java类
public class MessageToChatGroup {
private String chatGroupId;
private String chatGroupName;
private String avatar;
}controller:
@ResponseBody @RequestMapping(value = "/send", method = RequestMethod.POST) public String sendMessage(HttpServletRequest request, HttpServletResponse response, String messageContent, Integer messageType, String chatGroups) { MessageToChatGroup messageToChatGroup = JSON.parseObject(chatGroups, MessageToChatGroup.class); System.out.println(messageToChatGroup.getChatGroupName()); }打印:陕西省
3、传递数组:
3.1 前端:
var chatGroups = [ { "chatGroupId": "22627604299779", "chatGroupName": "中国", "avatar": "chatuserlogo/4006df745d3d40e591220614c69b6ac6.png" }, { "chatGroupId": "22808545525762", "chatGroupName": "陕西省", "avatar": "chatuserlogo/4006df745d3d40e591220614c69b6ac6.png" } ] $.ajax({ type: "post", url: "${pageContext.request.contextPath}/send", data: { messageContent: messageContent, messageType: messageType, chatGroups: JSON.stringify(chatGroups) // 以json字符串方式传递 }, success: function(data) { alert("消息已发送。"); } });将要传递的json对象chatGroups通过
JSON.stringify(chatGroups)转化为字符串提交。
3.2 后端:
首先定义一个与上面复杂json对象对应的java类:
public class RequestChatGroup { private String chatGroupId; private String chatGroupName; private String avatar; }controller层:
@ResponseBody @RequestMapping(value = "/send", method = RequestMethod.POST) public void sendMessage(HttpServletRequest request, HttpServletResponse response, String messageContent, Integer messageType, String chatGroups) { List<RequestChatGroup> requestChatGroups = new ArrayList<RequestChatGroup>(); // 定义一个list requestChatGroups = JSONObject.parseArray(chatGroups, RequestChatGroup.class); // 将前端传递的json字符串chatGroups转化为list System.out.println(requestChatGroups.get(0).getChatGroupName()); }针对上面的字符串会打印: 中国
相关文章推荐
- Spring MVC Ajax 复杂参数的批量传递
- SpringCloud使用feign时的复杂参数传递
- jquery中ajax向action传递对象参数,json ,spring注入对象
- ajax传递复杂参数
- 后端往前段传递参数,大部分人都清楚,无非就是发起ajax请求获取后端值,然后通过js写入html相应位置即可。但是前段html页面之间,怎么传递参数呢?
- ajax请求传参数复杂对象list,后端springmvc接收参数
- Spring cloud restTemplate 传递复杂参数的方式(多个对象)
- 基于xml配置的spring aop 的实现日志 和为通知传递参数
- android通过ksoap访问webservice方法传递一个复杂对象参数
- Spring AOP切面传递参数
- Android的intent之间复杂参数的传递
- Android的intent之间复杂参数的传递
- Android的intent之间复杂参数的传递
- Android studio创建AIDL传递复杂参数
- Yii:CHtml::ajaxLink方法在URL format为path情况下的多参数传递示例
- springboot 关于controller层传递单个参数的校验
- 有关于Ajax的参数传递在MVC当中的应用
- spring mvc ajax 提交复杂数组类型
- 前台发送 ajax 请求到后台传递数组参数
- asp.net mvc框架中,ajax传递json对象,并自动转换成参数对象的方法